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

无法通过公网IP访问EC2上的ASP.NET Core 7.0应用

问题诊断与解决方案

核心原因

你的ASP.NET Core 7.0应用当前仅绑定了localhost(回环地址),服务只会监听实例内部的回环接口,外部公网请求无法通过实例的物理网卡到达服务。从launchSettings.json的配置可以看到,applicationUrl指定的是localhost:5223和localhost:7174,这是导致无法公网访问的关键。

解决步骤

方法1:修改launchSettings.json配置

将配置中的localhost替换为0.0.0.0(监听实例所有网卡),或者直接指定EC2实例的私有IPv4地址:

"http": {
  "commandName": "Project",
  "dotnetRunMessages": true,
  "launchBrowser": true,
  "applicationUrl": "http://0.0.0.0:5223",
  "environmentVariables": {
    "ASPNETCORE_ENVIRONMENT": "Development"
  }
},
"https": {
  "commandName": "Project",
  "dotnetRunMessages": true,
  "launchBrowser": true,
  "applicationUrl": "https://0.0.0.0:7174;http://0.0.0.0:5223",
  "environmentVariables": {
    "ASPNETCORE_ENVIRONMENT": "Development"
  }
},

修改后重新执行dotnet run启动服务。

方法2:启动时通过命令行指定绑定地址

无需修改配置文件,直接在启动命令中添加--urls参数:

dotnet run --urls "http://0.0.0.0:5223;https://0.0.0.0:7174"

验证监听状态

在EC2实例的命令提示符中执行以下命令,确认服务已监听所有网卡:

netstat -ano | findstr :5223
netstat -ano | findstr :7174

输出结果中,本地地址应为0.0.0.0:5223(或实例私有IP),而非127.0.0.1:5223。

额外验证

先在EC2实例内部通过私有IPv4地址访问应用(如http://[实例私有IP]:5223),确认服务正常响应后,再尝试用公网IPv4地址或公网DNS访问。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 00:13:17