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

Asp.Net Core WebAPI如何修改监听地址?部署后无法访问咨询

嘿,这个问题我太熟了!你的WebAPI现在只盯着服务器自己的回环地址(localhost),外部请求根本进不来,咱们一步步把它搞定:

第一步:修改WebAPI的监听地址

默认情况下,ASP.NET Core部署后可能会绑定到localhost,这就只有服务器本地能访问。你得让它绑定到所有可用的网络接口,有三种简单方式:

  • 方式1:在代码里硬配置
    找到项目里的Program.cs,修改CreateWebHostBuilder方法,加上UseUrls指定监听地址:

    public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseUrls("http://0.0.0.0:53115") // 关键:0.0.0.0表示监听所有网络接口
            .UseStartup<Startup>();
    

    重新发布部署即可。

  • 方式2:用环境变量临时设置
    在启动应用前,先执行这条命令设置环境变量:

    export ASPNETCORE_URLS="http://0.0.0.0:53115"
    

    然后再正常启动你的API程序。

  • 方式3:启动命令直接指定
    启动应用时追加--urls参数,不用改代码也能生效:

    dotnet YourApiProject.dll --urls "http://0.0.0.0:53115"
    
第二步:开放Ubuntu服务器的53115端口

就算应用绑定了正确地址,防火墙拦着也白搭。Ubuntu 16.04默认用ufw防火墙,执行下面的命令开放端口:

sudo ufw allow 53115/tcp
sudo ufw reload

可以用sudo ufw status确认端口是否已经成功开放。

第三步:检查网络层面的连通性
  • 先在服务器本地用curl http://localhost:53115/api/values测试,确认应用本身运行正常。
  • 从你的本地机器ping服务器的IP,看看基础网络是否连通。如果ping不通,可能是服务器的网络配置问题。
  • 要是用的云服务器(比如阿里云、AWS),别忘了去控制台检查安全组/防火墙规则,确保53115端口的TCP入站流量是允许的——这一步很多人容易忘!
第四步:确认应用的运行状态

有时候应用看起来在跑,但实际有隐藏报错。如果是用systemd托管的服务,可以用这条命令看状态:

sudo systemctl status your-api-service-name

或者直接查看应用的日志输出,排查有没有启动异常。

按这几步操作下来,外部应该就能正常访问你的API了!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:38:55