nginx 转发 PHP -fpm 403 错误求解惑

2022-12-15 15:03:03 +08:00
 yzql2018

Nginx 下虚拟主机配置如下:

server {
        listen        80;
        server_name  ectest.local.com;
        root   "D:/Dropbox/CodeRoot/Shop/ecstore-V0.8/";

        location / {
            index index.php index.html error/index.html;
            error_page 400 /error/400.html;
            error_page 403 /error/403.html;
            error_page 404 /error/404.html;
            error_page 500 /error/500.html;
            error_page 501 /error/501.html;
            error_page 502 /error/502.html;
            error_page 503 /error/503.html;
            error_page 504 /error/504.html;
            error_page 505 /error/505.html;
            error_page 506 /error/506.html;
            error_page 507 /error/507.html;
            error_page 509 /error/509.html;
            error_page 510 /error/510.html;
            include D:/Dropbox/CodeRoot/Shop/ecstore-V0.8//nginx.htaccess;
            autoindex  on;
        }
		
		
        location ~ \.php(.*)$ {
            fastcgi_pass   127.0.0.1:9004;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
}

这个配置解析正常的没有 get 参数的网址没有问题。现在有一个后台地址: http://ectest.local.com/shopadmin/index.php?ctl=passport 。正常情况下这个地址应该解析到后台的 passport 控制器文件。

现在访问上面的网址,会直接报 403 Forbidden 错误,在 index.php 程序里打印输出也无法输出。开了 Nginx 错误日志,日志里面也没有 403 的信息,只有 access.log 有 403 请求错误。

请教各位大佬应该如何改动虚拟主机配置使得这个网址正确解析。

831 次点击
所在节点    问与答
5 条回复
bjzhush
2022-12-15 16:50:59 +08:00
第一步先把 index.php 内容 换成 exit ('hi ); 根据这个能定位到是 NGINX 报 403 还是 PHP 报 403
yzql2018
2022-12-15 17:07:10 +08:00
@bjzhush 试过了,完全进不去 index.php 文件,我感觉是 nginx location 配置有问题,但又不知道怎么修改
bjzhush
2022-12-15 23:14:02 +08:00
用编辑器编辑啊,什么叫进不去呢?
yzql2018
2022-12-16 09:33:18 +08:00
@bjzhush 我是说过访问这个网址,完全运行不到 index.php 里面去
julyclyde
2022-12-19 09:37:02 +08:00
nginx 开 debug 日志吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/902720

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX