如何在IIS反向代理设置上设置X-Forwarded-For标头?

时间:2013-11-21 05:35:58

标签: iis url-rewriting http-headers reverse-proxy

当使用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!谢谢

1 个答案:

答案 0 :(得分:3)

我找到了答案。在应用程序请求路由缓存中 - &gt;服务器代理设置 - &gt;在以下标头中保留客户端IP - &gt;把它留空。

http://technet.microsoft.com/en-us/library/dd443533(v=ws.10).aspx

在以下标题中保留客户端IP:

指示标头是否应保留指定标头值的客户端IP地址。默认值为X-Forwarded-For。如果将此字段留空,则不会将客户端IP地址作为自定义标头传递给应用程序服务器。