启用代理模式的 IIS IP 地址和域限制拒绝允许 x-forwarded-for

启用代理模式的 IIS IP 地址和域限制拒绝允许 x-forwarded-for

根据这些文档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-forIP 必须被允许进入才能允许该请求。

启用“代理模式”后,服务器首先检查所显示的 IP(代理的 IP)是否允许。如果允许,则获取最后一个x-forwarded-forIP,并检查是否允许,并递归 IP 列表x-forwarded-for并检查每个 IP 是否被允许。必须允许所有 IP,否则请求将被阻止。

如果代理 IP 是不是允许,那么请求就会被阻止,并且根本x-forwarded-for不会得到考虑;你必须信任请求的来源,才能尝试信任请求的内容该请求。

它的解释更长(也更专业)这是 Wade Hilmo 的帖子在 IIS.net 上。

相关内容