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