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

ASP.NET Core应用在EC2(Windows 2022)上监听地址异常问题

ASP.NET Core应用在EC2 Windows实例仅监听localhost的问题解决

核心原因

launchSettings.json是开发环境专属配置文件,仅在通过Visual Studio启动或本地执行dotnet run时生效。当你在EC2实例上直接运行发布后的应用程序时,该文件不会被加载,因此你配置的applicationUrl完全不起作用,应用会默认监听localhost。

解决步骤

1. 通过环境变量指定监听地址

在EC2的Windows系统中设置ASPNETCORE_URLS环境变量,让应用监听所有网卡的指定端口:

  • 临时生效(当前命令行会话):打开命令提示符执行
    set ASPNETCORE_URLS=https://0.0.0.0:8888;http://0.0.0.0:8889
    
  • 永久生效(重启实例后保留):
    1. 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
    2. 在「系统变量」区域点击「新建」,变量名填ASPNETCORE_URLS,变量值填https://0.0.0.0:8888;http://0.0.0.0:8889
    3. 保存后重启命令提示符或应用服务

2. 修改配置文件指定地址

在应用的appsettings.json(生产环境建议用appsettings.Production.json)中添加Urls配置项:

{
  "Urls": "https://0.0.0.0:8888;http://0.0.0.0:8889",
  // 其他原有配置内容
}

3. 启动应用时通过命令行参数指定

运行发布后的应用程序时,直接附加监听参数:

dotnet YourAppName.dll --urls "https://0.0.0.0:8888;http://0.0.0.0:8889"

额外注意事项

  • 不要绑定EC2私有IP:私有IP可能随实例重启变更,0.0.0.0会让应用监听实例所有可用网卡地址,适配私有IP和弹性IP场景。
  • 检查EC2安全组:确保安全组开放8888、8889端口的入站规则,允许目标访问IP段。
  • 检查Windows防火墙:在EC2实例的Windows防火墙中,放行这两个端口的入站连接。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 05:02:45