使用IIS作为反向代理服务器时,我希望将远程用户的IP地址传递到后端Web服务器。必须使用X-Forwarded-For标头完成此操作。我希望在X-Forwarded-For标头中仅保留远程用户IP,这将清除任何其他代理服务器IP。
所以我使用URL重写代理来测试X-Forwarded-For是否可以被修改。这是我的设置:
<rule name="replace X forward for">
<match url=".*" />
<serverVariables>
<set name="HTTP_X_FORWARDED_FOR" value="100.100.100.100" />
</serverVariables>
<action type="None" />
</rule>
在我的测试之前X-转发-用于:10.87.50.47.51579
在我的测试之后:已发送X-转发至:100.100.100.100,10.87.50.47.51579
为什么不能替换原来的值?或者有没有其他方法可以修改X-Forwarded-For头?
任何帮助我都会appricaite!谢谢
2条答案
按热度按时间4nkexdtk1#
我找到了答案。在应用程序请求路由缓存--〉服务器代理设置--〉在下面的头中保留客户端IP--〉将其留空。
http://technet.microsoft.com/en-us/library/dd443533(v=ws.10).aspx
保留下列信头中的客户端IP:
指示标头是否应保留指定标头值的从属端IP位址。预设值为X-Forwarded-For。如果您将此字段保留空白,则不会将从属端IP位址作为自订标头传送至应用程序服务器。
kr98yfug2#
我得到了和穆昆一样的结果。我将字段设置为“无”,得到了我要找的结果。
enter image description here