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

Nginx反向代理Docker容器Web应用返回404错误问题求助

问题定位步骤
  • 首先检查Nginx配置语法是否合法:执行nginx -t,如果返回报错信息,根据提示修正对应配置项即可。
  • 核对上游服务端口拼写:你配置中/brock路径对应的代理端口为8081,但实际启动容器映射的宿主机端口为8001,端口不匹配会导致转发失败。
  • 检查Nginx默认站点优先级冲突:Ubuntu系统默认安装的Nginx会在/etc/nginx/sites-enabled/目录下生成default配置文件,该配置同样监听80端口,且优先级高于你新增的配置,请求会优先匹配到默认站点的静态文件目录,找不到对应路径就返回404。
  • 检查配置是否已重载生效:新增软链接后如果未执行Nginx配置重载操作,修改的配置不会生效。
  • 查看Nginx错误日志精准定位:执行tail -f /var/log/nginx/error.log,同时发起curl localhost/chad或curl localhost/brock请求,可通过实时日志确认具体报错原因。
解决方案
  • 修正/etc/nginx/sites-available/localhost.conf配置,调整端口错误并新增server_name明确匹配规则,修改后内容如下:
server {
  listen      80;
  server_name localhost;

  location /chad {
    proxy_pass  http://127.0.0.1:8000/;
  }

  location /brock {
    proxy_pass  http://127.0.0.1:8001/;
  }
}
  • 删除Nginx默认站点软链接:执行rm /etc/nginx/sites-enabled/default
  • 验证配置语法无错误:执行nginx -t,返回test is successful代表配置合法
  • 重载Nginx配置使修改生效:执行systemctl reload nginx
  • 重新测试访问:再次执行curl localhost/chad和curl localhost/brock即可正常获取容器返回的页面内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 06:15:03