IIS 10配置IP地址和域限制后全部流量被拒,求解决方案
IIS 10 IP访问限制规则失效的解决建议
检查规则优先级
- IIS的IP限制规则是从上到下按顺序执行的,务必确保你的ALLOW规则排在DENY规则上方。如果拒绝所有的规则在允许规则前面,所有流量会先被拒绝,允许规则根本不会生效。
- 调整方法:在IP Address and Domain Restrictions界面,选中ALLOW规则,点击右侧的「上移」按钮,把它挪到DENY规则之前。
验证IP段格式是否正确
- 确认你输入的IP段格式符合IIS要求,比如:
- 单个IP:
192.168.1.10 - IP段(子网掩码):
192.168.1.0/255.255.255.0或者CIDR格式192.168.1.0/24
- 单个IP:
- 格式错误会导致ALLOW规则无法匹配目标IP,所有流量都会触发后续的DENY规则。
排查模块冲突
- 如果服务器同时启用了Dynamic IP Restrictions模块,可能会和静态IP限制规则冲突,导致正常IP被误拦截。
- 解决:暂时禁用Dynamic IP Restrictions,测试访问是否恢复,再排查具体冲突点。
检查规则继承问题
- 如果服务器根节点设置了更严格的DENY规则,且站点层级开启了规则继承,站点的ALLOW规则会被根节点的规则覆盖。
- 检查方法:在站点的IP Address and Domain Restrictions界面,点击右侧的「查看继承的规则」,确认没有上层拒绝规则优先执行。
- 解决:可以在站点层级取消继承,或者调整根节点的规则优先级。
确认客户端真实IP是否被隐藏
- 如果服务器前端有代理、CDN或负载均衡,IIS获取到的可能是代理服务器的IP,而非客户端真实IP,导致ALLOW规则匹配失败。
- 解决:
- 配置IIS启用X-Forwarded-For头解析,执行命令:
appcmd set config "你的站点名称" /section:system.webServer/security/ipSecurity /allowUnlisted:false /enableProxyMode:true - 确保前端代理设备已经正确传递XFF头。
- 配置IIS启用X-Forwarded-For头解析,执行命令:
查看IIS日志定位问题
- 打开站点日志文件(默认路径:
C:\inetpub\logs\LogFiles),找到被拒绝的请求记录,查看sc-status(一般是403.6)、sc-substatus和cs(X-Forwarded-For)字段,确认被拦截的IP是否符合预期,帮助定位规则匹配问题。
重启IIS服务
- 规则修改后有时候需要重启IIS才能生效,执行命令:
iisreset
内容的提问来源于stack exchange,提问作者Bryan
相关产品推荐
相关产品推荐

