解释 Squid 流量用例

解释 Squid 流量用例

我有时会看到一些我不完全理解的交通模式,我希望能够得到一些帮助。

假设我运营一个网站。我查看了 http 站点的日志,发现有一个请求由 squid 代理(标头Via告诉我有关 squid 的信息)。没问题,有人正在通过 squid 代理。

但随后我查看了 IP。连接 IP (1.2.3.4) 与最终用户实际物理位置一致。但是,X-Forwarded-For标头显示的 IP 是 — — 为便于讨论 — — EC2 (2.3.4.5)。

因此,这可以告诉我,使用 2.3.4.5 的人正在通过代理连接到在 1.2.3.4 上运行的 squid。但这没有意义,因为我知道此人位于 1.2.3.4。因此,总体而言,看起来像是 1.2.3.4 上的某个人在 EC2 上使用 squid,它会执行某些操作(可能是安全操作?),添加 XFF 和 Via 标头,然后通过隧道返回 1.2.3.4 并进入互联网。

最后一种情况似乎很复杂(并且增加了一个额外的“跳跃”,速度非常慢),但也许我错过了一些 IT 部门可能决定做的用例或设置。

有人知道发生了什么吗?谢谢!

附言:我们假设没有欺骗标头!因为这种情况确实经常发生,尽管我称之为极端情况。

答案1

我能想到两种情况。

  1. 您或您的托管服务提供商正在使用反向代理
  2. 您的客户端位于“公司”代理后面(或通过使用 squid 的 ec2 实例模拟 vpn 出口节点 - 又称复杂的穷人 vpn)

第三种是将以上两种结合起来:

  1. 有人通过公司代理通过反向代理连接到您的网络服务器。

可能X-Forwarded-For会显示客户端以及代理 IP 地址,如下所示:X-Forwarded-For: client, proxy1, proxy2。通常,此标头对于日志分析器等很有用,以便获得用于分析或其他目的的原始 IP,如果您有反向代理,则必须正确设置它,以免将所有内容都记录为来自它。该行上的最后一个 IP 应该是倒数第二个代理。如果您在那里只获得一个 IP,则配置不正确或只有一个跳转。

如果请求已经来自公司代理(情况 2),则根据配置,它可能会到达您的反向代理(情况 1),并且如果反向代理在添加它自己的标头之前没有清理标头,则最终会出现令人困惑的标头(情况 3)。

在我看来,最可能的情况可能是有人正在使用 EC2 实例(如果您指的是亚马逊服务,但任何 VPS 都可以)作为代理以避免某种阻塞。

资料来源:

答案2

经过一番挖掘,我可以得出结论,这种情况通常不存在,而是由于错误的网络或 squid 配置造成的:

  • squid 总是插入一个随机的 XFF
  • 网络内部寻址使用公共 IP,而不是私有 IP

相关内容