php请求nginx服务器返回403

Posted 薇清浅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php请求nginx服务器返回403相关的知识,希望对你有一定的参考价值。

在centos的nginx的conf/include里配置了一个虚拟主机,没有配置虚拟域名,默认用了用主机名做域名,将端口换成自定义端口,然而总是返回403。

在网上查说一般有两种原因,一是用户权限问题,我检查了,都是同一个用户组和用户,所以应该不是权限问题;

二是主页问题,发现默认主页index.html是能访问的,应该不是这个问题,当把php页面换成html且把fastcgi_*之类的配置注释掉之后,发现是可以访问的,因此并不是主页设置的问题;但是curl得到的.php页面是源代码,并不是执行之后的结果,因此应该是php解析的问题。

后来发现原来nginx在解析php时,需要用到fast-cgi,这个东西需要启动php-fpm这个进程才能实现相应的服务。

执行 ps aux | grep php-fpm 命令,

发现并没有相应进程在运行,所以执行

/usr/local/php5/sbin/php-fpm 命令之后,把注释掉的fastcgi_*的参数改回来后记得执行/usr/local/nginx/nwebctl reload 命令重载一次nginx的配置,就能解析php网页了,并且返回的不是403了。

以上是关于php请求nginx服务器返回403的主要内容,如果未能解决你的问题,请参考以下文章

nginx返回状态码

centos 8 yum 默认安装nginx php 重启nginx服务,报错 403 404

Cors 阻止 Nginx 上状态为 403 的请求

解决nginx的403错误

Nginx Code Status

使用 nginx 返回自定义 403 错误页面