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

Ubuntu 20.04部署Blazor Webassembly访问报ERR_CONNECTION_REFUSED如何解决

问题根因

你当前运行的dotnet服务仅绑定了服务器本地回环地址127.0.0.1和IPv6回环地址::1,仅能接收服务器本机发起的请求,无法响应外部网络的访问请求,和你此前调整浏览器、本地杀毒软件的操作无关。

解决方法

根据你的使用场景选择对应方案即可:

方案1:临时调试用直接暴露端口

启动服务时追加监听地址参数:

dotnet 你的应用.dll --urls "http://0.0.0.0:5000;https://0.0.0.0:5001"

0.0.0.0代表监听服务器所有网卡的IPv4地址,外部网络即可通过服务器公网IP加端口访问服务。注意需要提前在服务器安全组、ufw防火墙中放行5000/5001端口。

方案2:代码中固定监听地址

在项目的Program.cs文件中添加监听配置,示例如下:

var builder = WebApplication.CreateBuilder(args);
// 新增该行配置监听地址
builder.WebHost.UseUrls("http://0.0.0.0:5000", "https://0.0.0.0:5001");
// 剩余原有配置...

重新编译发布后启动服务即可生效。

方案3:配置文件指定监听地址

在发布包的appsettings.json中新增Urls节点:

{
  "Urls": "http://0.0.0.0:5000;https://0.0.0.0:5001",
  // 剩余原有配置...
}

直接重启服务即可生效。

方案4:遵循官方Nginx反向代理规范(推荐生产环境使用)

你参考的部署教程本身就要求用Nginx做反向代理,无需修改dotnet服务的监听地址,只需配置Nginx将80/443端口的公网请求转发到本地127.0.0.1:5000即可,安全性更高,仅需放行服务器80/443端口。

验证方法

调整完成启动服务后,执行sudo netstat -tlnp查看dotnet进程对应的Local Address列,若显示为0.0.0.0:5000、:::5000则说明配置生效,外部访问即可正常连通。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 23:36:03