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

ASP.NET Core托管Blazor WASM部署Linux时报443端口占用错误如何处理?

问题排查与解决步骤

1 核心问题定位

报错栈中明确抛出System.Net.Sockets.SocketException (98): Address already in use,本质是Linux服务器上的443端口已经被其他进程占用,导致Kestrel无法绑定该端口启动服务。

2 端口占用问题解决

  • 登录Linux服务器执行以下命令查看占用443端口的进程:
sudo lsof -i :443
# 备选命令
sudo netstat -tulpn | grep :443
  • 拿到占用进程的PID后,确认该进程是否可停用,若为无用进程直接终止即可:
sudo kill -9 <对应PID>
  • 若443端口被Nginx、Apache等不可停用的Web服务占用,可调整Kestrel的监听端口为5001等未被占用的端口,再配置反向代理将443端口的请求转发到Kestrel的监听端口即可。

3 配置修正

当前配置存在两处需调整的问题:

  • appsettings.Development.json中配置的监听Host为localhost,但服务需要绑定服务器IP 10.0.2.200对外提供服务,将Host改为0.0.0.0即可允许所有IP访问,也可直接指定为10.0.2.200。
  • 证书配置不完整,appsettings.Development.json的Https节点中缺少证书密码字段,需补充Password字段,取值和appsettings.jsonKey节点下的密码保持一致。

4 补充注意事项

  • Linux系统中1024以下的端口属于特权端口,非root用户默认无法绑定,如果需要用普通用户运行的Kestrel绑定443端口,可执行以下命令授权:
sudo setcap 'cap_net_bind_service=+ep' /path/to/your/dotnet/executable
  • 生产环境不要使用Development环境启动服务,将环境变量改为Production,对应配置写到appsettings.json或者appsettings.Production.json中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 12:39:02