Joh*_*iao 3 iis reverse-proxy transparentproxy arr
我有一些Web服务器正在运行,我希望所有这些服务器都可以通过一个域访问.我在IIS中将ARR设置为另一台服务器中的反向代理,它工作正常.但是,当请求被重定向到服务器时,我需要保留源IP地址.否则,服务器会看到所有连接都来自localhost,这不是很好.
我知道有一个选项forwarded_for可以创建X-Forwarded-For标头,但它不是真的透明,因为我有WAF(Web应用程序防火墙)问题.
编辑:
您需要为每个从代理服务器向其发送流量的网站重写规则.该规则将检查HTTP_X_FORWARDED_FOR标头是否存在并具有值,如果存在,则我们知道请求已从代理服务器转发,因此我们将服务器变量REMOTE_ADDR设置为值,HTTP_X_FORWARDED_FOR因为我们知道这是真的用户的IP地址.
这是规则:
<rule name="RewriteRemoteAddr">
<match url="(.*)" />
<conditions>
<add input="{HTTP_X_FORWARDED_FOR}" pattern="([_0-9a-zA-Z]+)" />
</conditions>
<serverVariables>
<set name="{REMOTE_ADDR}" value="{HTTP_X_FORWARDED_FOR}" />
</serverVariables>
<action type="None" />
</rule>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5597 次 |
| 最近记录: |