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

Ubuntu上Docker部署ASP.NET Core API无法访问的排查求助

ASP.NET Core Docker部署404问题排查建议
  • 核对API路由与请求路径
    确认请求的URL路径和API定义的路由完全匹配,比如是否遗漏了/api前缀,或者路由模板存在拼写错误。检查Program.cs中的路由配置,确保app.MapControllers()或自定义路由规则正确生效。

  • 验证容器内服务可用性
    在Ubuntu主机上进入容器内部,直接访问容器内的8080端口,确认服务本身是否正常响应:

    docker exec -it <容器ID/名称> curl http://localhost:8080/你的API接口路径
    

    若容器内访问也返回404,说明是应用路由或配置问题;若容器内访问正常,则聚焦外部访问的网络问题。

  • 检查Ubuntu主机防火墙与安全组
    Ubuntu默认启用ufw防火墙,确认8098端口已开放:

    sudo ufw status
    sudo ufw allow 8098/tcp
    

    若使用云服务器,需同步检查云平台安全组是否开放8098端口的入站规则。

  • 确认ASP.NET Core环境配置
    ASP.NET Core会根据ASPNETCORE_ENVIRONMENT环境变量加载不同配置,检查容器的环境变量设置:

    docker inspect <容器ID/名称> | grep ASPNETCORE_ENVIRONMENT
    

    注意生产环境(Production)默认不启用Swagger,若请求/swagger路径会返回404,需请求实际业务API接口。

  • 验证端口映射与主机监听状态
    用以下命令确认主机8098端口确实在监听,且无其他进程占用:

    ss -tulpn | grep 8098
    
  • 查看容器详细请求日志
    实时查看容器日志,确认请求是否到达服务:

    docker logs -f <容器ID/名称>
    

    若日志无请求记录,说明请求未到达容器,排查网络或防火墙;若有请求记录但返回404,定位应用路由问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 13:39:53