IIS站点服务器本地可访问 外部访问报HTTP Error 404问题咨询
故障排查步骤
1. 核查IIS站点绑定配置
- 打开IIS管理器,右键对应站点选择「编辑绑定」
- 确认绑定的IP地址为「全部未分配」或服务器对外提供服务的实际网卡IP,而非仅绑定127.0.0.1
- 确认绑定的主机名与本地访问时使用的域名完全一致,注意大小写、二级域名拼写是否匹配
- 确认绑定的端口与访问URL使用的端口一致,非80/443的自定义端口需要在访问时显式携带
2. 核查Windows Server防火墙规则
- Windows Server 2019默认入站拦截规则比2012严格,先打开「高级安全Windows Defender防火墙」,检查是否添加入站规则放行站点使用端口的TCP流量
- 可临时关闭防火墙做访问测试,若关闭后访问正常,补充对应端口的入站允许规则即可
- 同步确认服务器上层网络设备(如网关、防火墙)是否放行对应端口的公网/内网访问流量
3. 确认请求是否到达IIS服务
你提到IIS日志无对应访问记录,大概率是请求未到达IIS层面:
- 打开服务器资源监视器的「网络」选项卡,在「正在侦听的端口」列表中确认站点端口确实由IIS相关进程侦听
- 本地访问站点的同时,在服务器上运行
tracert 站点域名确认路由终点为新服务器IP,也可通过Wireshark抓对应端口的包验证请求是否到达服务器 - 本地运行
ipconfig /flushdns刷新DNS缓存,再运行nslookup 站点域名确认解析结果为新服务器IP,排查DNS解析延迟问题
4. 核查ASP.NET兼容配置
- 确认站点应用池的.NET Framework版本与旧站点完全一致,Windows Server 2019自带高版本.NET Framework,若站点依赖旧版本需要手动安装
- 确认站点「处理程序映射」中*.aspx等ASP.NET后缀的处理程序处于启用状态,避免IIS无法识别ASP.NET请求直接返回404
- 检查站点根目录下的web.config文件,排查是否存在旧服务器IP、域名的硬编码配置导致路由错误
5. 核查本地hosts覆盖
打开本地hosts文件(路径C:\Windows\System32\drivers\etc\hosts),确认是否存在旧站点IP与域名的绑定记录,若存在删除后再测试访问
内容的提问来源于stack exchange,提问作者Jafar95
相关产品推荐
相关产品推荐

