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

使用Docker部署Laravel项目时Nginx无法连接后端求助

Docker部署Laravel:Nginx无法连接后端问题排查

问题详情

Docker环境下数据库、Web服务、后端服务容器均显示正常运行,但Nginx无法连接后端服务,Nginx错误日志如下:
Nginx错误日志

对应docker-compose配置截图:
docker-compose配置

排查修复方案

  • 修正Nginx代理地址:
    Nginx配置中代理后端的地址必须使用docker-compose定义的服务名(比如截图里的app服务),不能用localhost或宿主机IP。因为Docker容器间通过服务名在内部网络通信,localhost在Nginx容器中指向自身,无法访问后端容器。
    正确的Nginx代理配置示例:
    proxy_pass http://app:9000;
    
  • 确认后端服务监听地址:
    确保后端服务(如PHP-FPM)在容器内监听0.0.0.0:9000,而非127.0.0.1:9000。后者仅允许容器内部访问,外部容器(如Nginx)无法连接。
  • 测试容器间网络连通性:
    进入Nginx容器,执行ping app(替换为你的后端服务名),验证是否能解析到后端容器IP并连通。如果不通,检查docker-compose中所有服务是否处于同一网络(默认同一compose文件的服务会加入默认网络)。
  • 检查后端服务实际运行状态:
    容器显示运行不代表内部服务正常启动。进入后端容器,执行ps aux查看服务进程是否存在,或查看后端服务日志排查启动异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 20:50:26