通过代理找出客户端IP

时间:2011-07-22 20:04:54

标签: http proxy http-headers

当我的网站收到通过代理的连接时,我一直认为客户端IP(如果提供)是X-Forwarded-For HTTP标头中逗号分隔的IP地址列表中的第一项。但我见过的情况还有Client-IP

如果两个标题都存在且信息不匹配,那么哪一个比另一个更好?

1 个答案:

答案 0 :(得分:1)

是。使用X-Forwarded-For。它是在这些情况下使用的标准标题

编辑:取自维基百科(http://en.wikipedia.org/wiki/X-Forwarded-For):

“X-Forwarded-For字段受大多数代理服务器支持,包括Squid,[1] Apache mod_proxy,[2] Pound,[3] HAProxy,[4] Varnish缓存,[5] IronPort网络安全设备,[6] CAI Networks WebMux,ArrayNetworks,Radware的Appdirector和Web Server Director,F5 Big-IP,[7] Blue Coat ProxySG,[8] Cisco Cache Engine,McAfee Web Gateway,Phion Airlock,Finjan的重要安全性,NetApp NetCache, jetNEXUS,Crescendo Networks的Maestro,Microsoft ISA Server 2004/2006,Winfrasoft X-Forwarded-For for ISA Server和Microsoft Forefront TMG 2010 with Winfrasoft X-Forwarded-For for TMG或XFF-Filter.dll免费网络过滤器[9]。 许多Web服务器(包括Apache)都支持X-Forwarded-For日志记录。 Microsoft IIS 6.0& 7.0可以使用名为Winfrasoft X-Forwarded-For的第三方ISAPI筛选器来完成此任务。 IIS 7.0还可以使用HTTP模块进行此过滤[1]。“