当使用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-转发-FOR:10.87.50.47.51579
我的测试后: X-转发-FOR:100.100.100.100,10.87.50.47.51579
为什么不能取代原值?或者有没有其他方法来修改X-Forwarded-For标头?
任何帮助,我会appricaite!谢谢
答案 0 :(得分:3)
我找到了答案。在应用程序请求路由缓存中 - &gt;服务器代理设置 - &gt;在以下标头中保留客户端IP - &gt;把它留空。
http://technet.microsoft.com/en-us/library/dd443533(v=ws.10).aspx
在以下标题中保留客户端IP:
指示标头是否应保留指定标头值的客户端IP地址。默认值为X-Forwarded-For。如果将此字段留空,则不会将客户端IP地址作为自定义标头传递给应用程序服务器。