VS 2022本地IIS无法访问网页问题求助
问题排查建议
问题概述
使用VS 2022搭配IIS Express开展开发,偶尔会将Web应用发布到本地IIS模拟客户环境测试,近期遇到两类异常:
- IIS Express访问异常(截图:
) - 本地IIS创建虚拟目录后无法正常访问网页(截图:
)
已尝试的无效操作
- 测试过所有针对
net::ERR_HTTP2_PROTOCOL_ERROR的公开解决方案,未解决问题 - 为IIS重新创建并绑定本地证书,无效
可疑触发因素
问题始于配置并保存URL Rewrite规则后,同时怀疑以下可能:
- 工作电脑的组策略推送导致系统配置变更
- machine.config文件被修改
- 当前IPv4 DNS配置存在异常(截图:
)
分步排查方案
1. 回滚URL Rewrite配置
- 若为本地IIS配置:打开IIS管理器,找到对应站点的URL Rewrite模块,删除新增规则,恢复原配置后重启IIS测试
- 若为VS项目配置:打开项目的web.config文件,移除
<rewrite>节点下新增的规则内容,重新生成项目并启动调试
2. 检查组策略变更
- 打开命令提示符,执行
gpresult /h gpresult.html生成组策略报告 - 查看报告中近期是否有与IIS、网络、证书相关的策略推送,重点关注:
- HTTP2协议禁用策略
- 证书信任范围变更
- 端口访问限制规则
3. 校验machine.config文件
- 找到对应.NET版本的machine.config路径(示例:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config) - 与备份文件或正常同事的同版本文件对比,检查
<system.webServer>、<httpProtocol>等节点是否有异常修改 - 若发现可疑配置,恢复为默认内容后重启系统测试
4. 临时禁用HTTP2协议
- IIS Express:打开项目目录下的
.vs\config\applicationhost.config,找到对应站点的绑定配置,添加http2UnencryptedPort="0",或暂时切换为HTTP协议调试 - 本地IIS:打开站点绑定设置,编辑HTTPS绑定,取消勾选HTTP/2选项,保存后重启站点
5. 重置网络相关配置
- 执行命令
ipconfig /flushdns清空DNS缓存 - 临时切换为公共DNS(如
8.8.8.8)测试访问,排除内部DNS解析问题
6. 重置IIS Express配置
- 关闭VS 2022,删除项目目录下的
.vs文件夹 - 重新打开VS加载项目,生成解决方案后启动调试
内容的提问来源于stack exchange,提问作者ttest2727
相关产品推荐
相关产品推荐

