我已经设置了 IP 限制(安装在 IIS8 上,将功能委派设置为读/写)并且 IIS 似乎正在从我的 web.config 读取 OK,阻止所有 IP 地址,但当我直接访问服务器而不是通过负载时我的平衡器
当我通过负载均衡器时,它似乎不尊重客户端 IP。
因此,即使我的 IP 在允许的 IP 列表中并且我选择了“启用代理模式”,我仍然被阻止。
我已经调试了 header ,并且 x-forwarded-for IP 作为指定的允许 IP 通过。如果我将其全部反转,将所有内容设置为允许,然后使用代理复选框设置拒绝我的特定 IP,它会起作用,我只是无法让它拒绝所有并允许我的 IP。
这是我的配置:
<security>
<ipSecurity allowUnlisted="false" enableProxyMode="true">
<add ipAddress="80.200.100.40" allowed="true"/>
</ipSecurity>
</security>
最佳答案
我在自己的设置中测试了类似的情况。 IIS 需要有负载均衡器(或代理)的实际 IP 和 x-转发-for 允许列表中的 IP 地址以允许访问。您可以检查 IIS 日志以了解您的站点获得的实际客户端 IP 地址。
关于iis - 在 AWS 弹性负载均衡器后面时无法使 IIS ipsecurity 正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28441634/