北京 ,nginx反向代理后为什么访问php文件会提示404?

用户投稿 198 0

北京关于“nginx_php_405”的问题,小编就整理了【5】个相关介绍“nginx_php_405”的解答:

nginx反向代理后为什么访问php文件会提示404?可能的原因:

nginx配置有误,没有将请求转发到正确的处理程序(如php-fpm等),转发到一个不存在着的路径

请求已经转发到php处理程序,但php处理程序配置没有找到对应的脚本

php已经处理了脚本,但代码里返回了一个404的状态码

北京405NotAllowed?状态码 405 Method Not Allowed 表明服务器禁止了使用当前 HTTP 方法的请求。需要注意的是,GET 与 HEAD 两个方法不得被禁止,当然也不得返回状态码 405。

北京解决:解决方法有三种

一. 重定向405错误码到200:在nginx server{}里面添加以下内容,root为站点的根目录

二. 转换静态文件接收的POST请求到GET方法去

三. 修改nginx源码,源码文件位于/nginx源码目录/src/http/modules/ngx_http_static_module.c,找到如下代码:

北京扩展资料:

405 错误经常和 POST 方法同时出现。 您可能在您的网站上尝试引入某种输入表格,但并非所有的互联网服务供应商 (ISPs) 都 允许处理该表格所需的 POST 方法。

所有 405 错误都可以追综到 Web 服务器设置和控制访问网站内容的安全管理,因此您的 ISP 应该很容易地予以解释。

参考资料:

北京如何正确配置Nginx和PHP?nginx 和php配置都有自己的config 文件,你按照网上的说明去配置就可以,主要是修改。

北京window+nginx+php环境配置,附配置搭配说明?1,下载PHP

  php下载版本比较多,其中,

北京  vc9=vs2008编译,推荐使用IIS+php搭配模式,

  vc6=vs6编译,推荐使用apache+php方式搭配,

北京  Thread Safe,线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的CGI执行方式而耗尽系统资源。Non Thread Safe是非线程安全,在执行时不进行线程(Thread)安全检查。

北京  Non Thread Safe,

北京  再来看PHP的两种执行方式:ISAPI和FastCGI。

  ISAPI执行方式是以DLL动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,所以如果是以ISAPI来执行PHP,建议选择Thread Safe版本;

北京  而FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以FastCGI来执行PHP,建议选择Non Thread Safe版本。

北京  官方并不建议你将Non Thread Safe 应用于生产环境,所以我们选择Thread Safe 版本的PHP来使用。

nginx 403禁止访问被拒绝怎么办?一、由于启动用户和nginx工作用户不一致所致

北京1.1查看nginx的启动用户,发现是nobody,而为是用root启动的

命令:ps aux | grep "nginx: worker process" | awk'{print $1}'

1.2将nginx.config的user改为和启动用户一致,

北京命令:vi conf/nginx.conf

二、缺少index.html或者index.php文件,就是配置文件中index index.html index.htm这行中的指定的文件。

1. server {

2. listen 80;

3. server_name localhost;

北京4. index index.php index.html;

5. root /data/www/;

北京6. }

北京如果在/data/www/下面没有index.php,index.html的时候,直接文件,会报403 forbidden。

北京三、权限问题,如果nginx没有web目录的操作权限,也会出现403错误。

北京解决办法:修改web目录的读写权限,或者是把nginx的启动用户改成目录的所属用户,重启Nginx即可解决

到此,以上就是小编对于“nginx_php_405”的问题就介绍到这了,希望介绍关于“nginx_php_405”的【5】点解答对大家有用。

抱歉,评论功能暂时关闭!