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

在AWS RHEL 8 EC2上部署.NET 5 Web API后无法通过公网IP访问

AWS RHEL 8实例部署.NET 5 Web API公网无法访问解决方案

你遇到的问题由三类常见配置缺失导致,按以下步骤逐一排查修复即可:

1. 修正Kestrel监听地址配置

当前启动日志显示Kestrel仅绑定了localhost:5000,仅允许EC2实例本地访问,公网请求无法触达,两种修改方式二选一即可:

  • 启动时直接指定绑定所有网卡接口,运行命令修改为:
    dotnet webapp2.dll --urls http://0.0.0.0:5000
    
  • 固定到配置文件:在项目的appsettings.json中添加以下节点,重新发布上传后生效:
    "Kestrel": {
      "Endpoints": {
        "Http": {
          "Url": "http://0.0.0.0:5000"
        }
      }
    }
    

2. 放行AWS EC2安全组5000端口入站规则

  • 登录AWS EC2控制台,找到对应实例绑定的安全组
  • 添加入站规则:类型选自定义TCP,端口范围填5000,源地址按需配置(测试阶段可填0.0.0.0/0允许所有IP访问,生产环境建议限制为指定IP段)

3. 放行RHEL 8系统firewalld防火墙5000端口

登录EC2实例依次执行以下命令:

  • 永久放行5000端口TCP请求:
    firewall-cmd --add-port=5000/tcp --permanent
    
  • 重载防火墙规则使配置生效:
    firewall-cmd --reload
    
  • 验证配置是否生效,输出中包含5000/tcp即为配置成功:
    firewall-cmd --list-ports
    

全部配置完成后重启.NET服务,即可通过公网IP加5000端口正常访问接口。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 02:24:01