通过URL Rewrite暴露本地Web应用至局域网遇404错误求助
问题排查与解决方案
针对你遇到的局域网设备访问IIS Rewrite规则后返回404的问题,按以下步骤排查:
检查IIS站点绑定的IP地址
默认情况下,IIS站点可能仅绑定了127.0.0.1或localhost,导致局域网设备无法连接到站点。打开IIS管理器,找到对应站点,点击「绑定」,将IP地址设置为「全部未分配」或者服务器的局域网IP(如192.168.x.x),端口保持80即可。配置Windows防火墙入站规则
服务器防火墙可能拦截了局域网设备对80端口的访问。打开「Windows Defender防火墙高级设置」,新建入站规则:选择「端口」,指定TCP本地端口80,允许连接,应用到域和专用网络,命名规则后保存。调整Rewrite规则的匹配逻辑
当前规则的match url为catalogexplorer/(.*),无法匹配不带后续路径的/catalogexplorer/请求(末尾带斜杠的情况)。修改规则如下,确保覆盖所有相关请求:<rewrite> <rules> <rule name="catalogexplorer" stopProcessing="true"> <match url="^catalogexplorer(/.*)?$" /> <action type="Rewrite" url="http://localhost:8080/catalogexplorer{R:1}" /> </rule> </rules> </rewrite>验证应用的网络监听范围
执行命令netstat -ano | findstr :8080,确认应用是否监听了0.0.0.0:8080(所有网络接口)或服务器的局域网IP端口。如果仅监听127.0.0.1:8080,需调整应用的绑定配置,使其允许外部访问。
内容的提问来源于stack exchange,提问作者St Ch
相关产品推荐
相关产品推荐

