部署在IIS的ASP.NET Core站点无法通过公网访问求助
ASP.NET Core IIS部署公网无法访问排查方案
检查IIS站点绑定配置
- 确认站点绑定的IP地址不是仅
127.0.0.1或局域网IP192.168.1.15,需设置为*(所有未分配IP)或直接绑定公网IP(若服务器网卡已配置)。 - 绑定端口必须为
6100,用命令netstat -ano | findstr ":6100"检查端口占用情况,确保对应PID为IIS工作进程或ASP.NET Core相关进程。
- 确认站点绑定的IP地址不是仅
验证Windows防火墙规则
- 确保Windows防火墙(域、专用、公用网络)均允许
6100端口的TCP入站连接。手动添加规则时,指定TCP协议与6100端口,应用范围可选所有程序或w3wp.exe。 - 注意:Apache 85端口可访问仅说明该端口规则生效,6100端口需单独配置,重点检查公用网络规则(公网访问默认走此配置)。
- 确保Windows防火墙(域、专用、公用网络)均允许
确认ASP.NET Core Hosting Bundle与应用池配置
- 服务器必须安装与应用.NET Core版本匹配的ASP.NET Core Hosting Bundle,这是IIS托管ASP.NET Core的必要组件。
- 检查站点
web.config的aspNetCore节点,确保processPath和arguments配置正确;应用池的.NET CLR版本需设置为无托管代码。 - 验证应用池身份权限,确保其拥有应用文件目录的访问权限,且身份账户未被限制网络访问。
复核端口转发规则细节
- 确认modem端口转发规则的内部IP为
192.168.1.15、内部端口6100、外部端口6100,协议为TCP。 - 部分modem需重启才能使规则生效,可尝试重启设备;同时确认modem自身未开启额外防火墙拦截6100端口。
- 确认modem端口转发规则的内部IP为
规范公网访问测试方式
- 禁止在服务器本地用公网IP测试(易被本地路由拦截),需使用外部网络设备(如手机流量)访问
79.190.11.241:6100。 - 用第三方在线端口检测工具排查公网6100端口是否开放:若端口关闭,问题在转发或防火墙;若端口开放仍无法访问,再排查IIS与应用配置。
- 禁止在服务器本地用公网IP测试(易被本地路由拦截),需使用外部网络设备(如手机流量)访问
日志排查定位问题
- 查看IIS站点日志(默认路径
C:\inetpub\logs\LogFiles\W3SVC*),若公网IP无请求记录,说明请求未到达IIS;若有请求但返回错误码,根据码值排查(如404为路径问题,502为应用未启动)。 - 开启ASP.NET Core应用日志:在
web.config中设置stdoutLogEnabled="true",查看logs文件夹下的控制台日志,确认应用是否正常启动及有无启动报错。
- 查看IIS站点日志(默认路径
内容的提问来源于stack exchange,提问作者Эй бой Я playboy
相关产品推荐
相关产品推荐

