You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows Server 2016 IIS 10中web.config限制IP无效,求排查

IIS 10 IP限制不生效的排查要点
  • 修正allowUnlisted的逻辑配置
    你当前web.config里allowUnlisted="true"的含义是允许所有未在列表中的IP访问,结合<clear />后仅添加单个IP的操作,实际效果是所有IP都能正常访问,这和你想要限制IP的需求完全相反。如果要实现仅允许指定IP访问,需将allowUnlisted设为false,同时显式标记允许的IP,修正后的配置片段:

    <security>
        <ipSecurity allowUnlisted="false">
            <clear />
            <add ipAddress="xx.xx.x.x" allowed="true" />
        </ipSecurity>
    </security>
    
  • 确认ApplicationHost.config配置生效
    确保修改的是正确路径下的文件(默认路径:C:\Windows\System32\inetsrv\config\ApplicationHost.config),修改完成后执行iisreset命令重启IIS服务,让配置完全生效。同时检查站点/应用程序级别的配置是否未覆盖服务器级的ipSecurity权限设置。

  • 验证IP和域限制功能的启用状态
    除了安装角色,需在IIS管理器中确认功能配置:

    1. 选中目标站点,双击IP地址和域限制
    2. 点击右侧操作栏的编辑功能设置,确认选项与web.config配置一致(比如allowUnlisted=false对应“拒绝未指定的客户端访问”)
    3. 若服务器在代理/负载均衡后,务必勾选启用代理模式,否则IIS会识别代理IP而非客户端真实IP
  • 排查IP识别异常问题
    如果服务器部署在NAT、代理或负载均衡设备后,IIS可能无法获取客户端真实IP:

    • 确保代理设备已正确转发X-Forwarded-For或X-Real-IP头部
    • 在IIS的IP限制功能设置中开启代理模式,让模块读取转发头部获取真实IP
  • 检查冲突配置
    排查站点是否存在其他安全规则干扰IP限制:比如URL重写规则、URLScan模块等是否提前拦截了请求;同时确认Windows防火墙是否未限制相关端口,但注意防火墙规则与IIS IP限制是独立逻辑,仅当防火墙放开端口后,IIS的限制才会生效。

  • 查看日志定位问题
    查看IIS访问日志(默认路径:C:\inetpub\logs\LogFiles),确认请求的客户端IP是否符合预期,以及请求状态码(403.6表示IP被拒绝);同时检查Windows事件查看器中的IIS相关日志,是否存在IP模块的错误提示。

内容的提问来源于stack exchange,提问作者pixelFast

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 00:03:18