根据这些文档x-forwarded-for
,如果IIS 位于代理服务器后面,则应允许根据 IIS 看到的地址进行 IP 地址限制enableProxyMode
设置为 true。我已编辑功能设置以启用代理模式,并为我们的代理 IP 地址添加了“允许”条目。
我的问题是,当我尝试连接时,仍然会收到 403 禁止的拒绝信息。值得注意的是,我只在特定网站的一个应用程序上配置了此功能。IIS 版本是 8.0.x。我在完全重置 IIS 并验证 applicationHost.config 后进行了测试:
<location path="mysite.com/myapp">
<system.webServer>
<security>
<ipSecurity allowUnlisted="false" enableProxyMode="true">
<add ipAddress="my proxy ip..." allowed="true" />
</ipSecurity>
</security>
</system.webServer>
</location>
答案1
你的 IP和您的x-forwarded-for
IP 必须被允许进入才能允许该请求。
启用“代理模式”后,服务器首先检查所显示的 IP(代理的 IP)是否允许。如果允许,则获取最后一个x-forwarded-for
IP,并检查是否那允许,并递归 IP 列表x-forwarded-for
并检查每个 IP 是否被允许。必须允许所有 IP,否则请求将被阻止。
如果代理 IP 是不是允许,那么请求就会被阻止,并且根本x-forwarded-for
不会得到考虑;你必须信任请求的来源,才能尝试信任请求的内容在该请求。
它的解释更长(也更专业)这是 Wade Hilmo 的帖子在 IIS.net 上。