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

Docker化多Laravel应用访问返回404及FastCGI脚本未知问题

问题解决:Docker化多Laravel应用时App2访问404(Primary script unknown)

问题现象

使用nginxproxy/nginx-proxy反向代理多个Laravel Docker应用,App1(app1.localhost)访问正常,但App2(app2.localhost)返回404,Server容器日志报错:

[error] 22#22: *7 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 172.18.0.2, server: localhost, request: "GET / HTTP/1.1", upstream: "fastcgi://172.18.0.3:9000", host: "app2.localhost"

核心原因

App2的Nginx配置文件中,网站根目录路径与PHP容器的代码挂载路径不匹配,导致FastCGI无法找到Laravel的入口脚本(index.php)。

App1的代码挂载到/var/www/client,而App2挂载到/var/www/internal,但你的Nginx配置文件(./nginx/nginx.conf)大概率沿用了App1的路径配置,没有针对App2修改。

解决方案

1. 修改App2的Nginx配置文件

打开App2的nginx/nginx.conf,确保以下配置正确:

server {
    listen 80;
    server_name localhost;

    # 根目录指向Laravel的public目录,路径要和App2的挂载目录一致
    root /var/www/internal/public;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        # 确保SCRIPT_FILENAME路径正确
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass php:9000;
        fastcgi_index index.php;
        include fastcgi_params;
    }
}

重点检查:

  • root路径:必须是/var/www/internal/public(对应App2中代码挂载到/var/www/internal)
  • fastcgi_param SCRIPT_FILENAME:必须使用$document_root$fastcgi_script_name,保证动态路径正确

2. 重启App2容器

修改配置后,重新构建并启动App2:

cd app2
docker-compose down
docker-compose up -d --build

3. 额外验证

  • 进入App2的PHP容器,确认代码存在于/var/www/internal目录:
    docker exec -it app2-php-1 ls /var/www/internal
    
    应该能看到Laravel的目录结构(app、public、vendor等)
  • 进入App2的Nginx容器,确认配置文件已正确挂载:
    docker exec -it app2-server-1 cat /etc/nginx/conf.d/default.conf
    
    检查root路径是否为/var/www/internal/public

补充说明

不需要在App2的docker-compose中暴露8002、9002端口,因为nginx-proxy已经负责反向代理,暴露端口会造成端口冲突风险,直接去掉即可:

# 移除这两行
ports:
  - '8002:80'

PHP容器的9002端口也可以移除,因为内部网络已经可以访问。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 19:27:34