<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=X-Forwarded-For</id>
	<title>X-Forwarded-For - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=X-Forwarded-For"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=X-Forwarded-For&amp;action=history"/>
	<updated>2026-07-05T21:15:45Z</updated>
	<subtitle>在这个wiki上该页的修订历史</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=X-Forwarded-For&amp;diff=867837&amp;oldid=prev</id>
		<title>imported&gt;Cwek 来自 2022年6月11日 (六) 07:22</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=X-Forwarded-For&amp;diff=867837&amp;oldid=prev"/>
		<updated>2022-06-11T07:22:52Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{noteTA&lt;br /&gt;
|G1=IT&lt;br /&gt;
}}&lt;br /&gt;
{{HTTP}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;X-Forwarded-For&amp;#039;&amp;#039;&amp;#039;（&amp;#039;&amp;#039;&amp;#039;XFF&amp;#039;&amp;#039;&amp;#039;）是用来识别通过[[HTTP]][[代理服务器|代理]]或[[负载均衡]]方式连接到[[Web服务器]]的客户端最原始的[[IP地址]]的[[HTTP头字段]]。[[Squid (软件)|Squid]]缓存代理服务器的开发人员最早引入了这一HTTP头字段，并由[[IETF]]在HTTP头字段标准化草案&amp;lt;ref&amp;gt;{{cite web|title=draft-petersson-forwarded-for-02 - Forwarded HTTP Extension|url=https://tools.ietf.org/html/draft-petersson-forwarded-for-02|access-date=2015-10-31|archive-date=2019-12-20|archive-url=https://web.archive.org/web/20191220022141/https://tools.ietf.org/html/draft-petersson-forwarded-for-02}}&amp;lt;/ref&amp;gt;中正式提出。&lt;br /&gt;
&lt;br /&gt;
当今多数缓存服务器的使用者为大型ISP，为了通过缓存的方式来降低他们的外部带宽，他们常常通过鼓励或强制用户使用代理服务器来接入[[互联网]]。有些情况下，这些代理服务器是透明代理，用户甚至不知道自己正在使用代理上网。&lt;br /&gt;
&lt;br /&gt;
如果没有XFF或者其他类似技术，所有通过代理服务器的连接只会显示代理服务器的IP地址，而非连接发起的原始IP地址，这样的代理服务器实际上充当了匿名服务提供者的角色，如果连接的原始IP地址不可得，恶意访问的检测与预防的难度将大大增加。XFF的有效性依赖于代理服务器提供的连接原始IP地址的真实性，因此，XFF的有效使用应该保证代理服务器是可信的，比如可以通过建立可信服务器白名单的方式。&lt;br /&gt;
&lt;br /&gt;
== 格式 ==&lt;br /&gt;
这一HTTP头一般格式如下:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;tt&amp;gt;X-Forwarded-For: client1, proxy1, proxy2&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
其中的值通过一个 逗号+空格 把多个IP地址区分开, 最左边（client1）是最原始客户端的IP地址, 代理服务器每成功收到一个请求，就把&amp;#039;&amp;#039;&amp;#039;请求来源IP地址&amp;#039;&amp;#039;&amp;#039;添加到右边。 在上面这个例子中，这个请求成功通过了三台代理服务器：proxy1、proxy2和proxy3。请求由client1发出，到达了proxy3（proxy3可能是请求的终点）。请求刚从client1中发出时，XFF是空的，请求被发往proxy1；通过proxy1的时候，client1被添加到XFF中，之后请求被发往proxy2;通过proxy2的时候，proxy1被添加到XFF中，之后请求被发往proxy3；通过proxy3时，proxy2被添加到XFF中，之后请求的的去向不明，如果proxy3不是请求终点，请求会被继续转发。&lt;br /&gt;
&lt;br /&gt;
鉴于伪造这一字段非常容易，应该谨慎使用X-Forwarded-For字段。正常情况下XFF中最后一个IP地址是最后一个代理服务器的IP地址, 这通常是一个比较可靠的信息来源。&lt;br /&gt;
&lt;br /&gt;
== 使用 ==&lt;br /&gt;
在[[代理转发]]及[[反向代理]]中经常使用X-Forwarded-For字段。&lt;br /&gt;
=== 代理转发 ===&lt;br /&gt;
在[[代理转发]]的场景中，你可以通过内部代理链以及记录在网关设备上的IP地址追踪到网络中客户端的IP地址。处于安全考虑，网关设备在把请求发送到外网（[[因特网]]）前，应该去除X-Forwarded-For字段里的所有信息。这种情况下所有的信息都表现为从内部网络公共IP生成，因此X-Forwarded-For字段中的信息应该是可靠的。&lt;br /&gt;
&lt;br /&gt;
=== 反向代理 ===&lt;br /&gt;
在[[反向代理]]的情况下，你可以追踪到互联网上连接到你的服务器的客户端的IP地址，即使你的网络服务器和互联网在路由上是不可达的。这种情况下你不应该信任所有X-Forwarded-For信息，其中有部分可能是伪造的。因此需要建立一个信任白名单来确保X-Forwarded-For中哪些IP地址对你是可信的。&lt;br /&gt;
&lt;br /&gt;
最后一次代理服务器的地址并没有记录在代理链中，因此只记录X-Forwarded-For字段是不够的。完整起见，Web服务器应该记录请求来源的IP地址以及X-Forwarded-For字段信息。&lt;br /&gt;
&lt;br /&gt;
== Web服务器日志中的X-Forwarded-For ==&lt;br /&gt;
&lt;br /&gt;
大多数Web服务器可以通过配置在日志中记录X-Forwarded-For。Apache中可以非常简单地修改配置来实现，但MS IIS 6及以下的版本需要第三方软件支持来实现。&amp;lt;ref&amp;gt;[http://www.winfrasoft.com/X-Forwarded-For.htm Winfrasoft X-Forwarded-For for IIS] {{Wayback|url=http://www.winfrasoft.com/X-Forwarded-For.htm |date=20220329084946 }} 是一个通过添加XFF信息替换C-IP信息的IIS 插件。&amp;lt;/ref&amp;gt;IIS7用户可以从IIS.net获得免费的IIS相关组件来实现。&amp;lt;ref&amp;gt;{{Cite web |url=http://blogs.iis.net/anilr/archive/2009/03/03/client-ip-not-logged-on-content-server-when-using-arr.aspx |title=blogs.iis.net |access-date=2011-12-01 |archive-date=2015-03-26 |archive-url=https://web.archive.org/web/20150326055513/http://blogs.iis.net/anilr/archive/2009/03/03/client-ip-not-logged-on-content-server-when-using-arr.aspx }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 参见 ==&lt;br /&gt;
* [[网络隐私]]&lt;br /&gt;
* [[代理服务器]]&lt;br /&gt;
* {{link-en|X-Originating-IP|X-Originating-IP}}&lt;br /&gt;
&lt;br /&gt;
== 引用 ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 外部链接 ==&lt;br /&gt;
* Apache [https://web.archive.org/web/20070218024619/http://www.openinfo.co.uk/apache/index.html mod_extract_forwarded]&lt;br /&gt;
* X-Forwarded-For in TMG2010 [https://web.archive.org/web/20110903202457/http://itboard.ro/blogs/jurnal_de_vet/archive/2011/03/30/x-forwarded-for-pentru-tmg.aspx Free web filter for TMG2010 to add X-Forwarded-For header in inbound requests]&lt;br /&gt;
&lt;br /&gt;
[[Category:匿名]]&lt;br /&gt;
[[Category:HTTP]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Cwek</name></author>
	</entry>
</feed>