You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署在IIS 10的ASP.NET Core应用出现内部错误及端口问题求助

Kestrel监听6000及以上端口时远程无法访问的原因

这个问题我之前排查过,90%的概率是Windows防火墙在搞鬼,剩下的可能是系统端口预留的问题:

1. Windows防火墙未开放对应端口范围

Windows防火墙默认会阻止未被明确允许的入站连接。5000~5999可能因为是ASP.NET Core的常用开发端口,已经被自动添加了防火墙规则,而6000+的端口没被放行。解决方法:

  • 打开「Windows Defender防火墙→高级设置→入站规则→新建规则」
  • 选择「端口」,输入你需要的端口范围(比如6000-65535)
  • 选择「允许连接」,然后应用到你需要的网络环境(域、专用、公网)
  • 完成规则创建后,远程再试试访问。

2. 端口被系统预留

Windows会把一些端口预留出来给系统服务使用,你可以用命令查看预留的TCP端口:

netsh int ipv4 show excludedportrange tcp

如果你的6000+端口在这个列表里,哪怕Kestrel显示“已监听”,外部也无法访问。这种情况可以换一个不在预留范围内的端口,或者通过修改注册表来释放预留端口(操作需谨慎,建议先备份注册表)。

3. 其他小概率情况

比如你的应用运行在受限用户下,或者有第三方安全软件拦截了端口,但你5000~5999能正常访问,所以这个可能性很低,可以先排除前面两个原因。


内容的提问来源于stack exchange,提问作者John Lonewolf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:03:45