Nginx HTTP Post Method: 405 Method not allowed解决方法

企鹅博客
企鹅博客
企鹅博客
25193
文章
0
评论
2019年10月1日04:18:30 评论 273 views
广告也精彩

最近维护一台RedHat 5.4 X64系统,环境是Nginx,跑着一个论坛,需要向HTML页面提交POST数据,结果都被拦截下来了,显示错误:“nginx 405 Not Allowed”,是乎没有很好的解决办法,唯一能做的就是重新编译Nginx源码和编辑conf文件。

相关阅读

CentOS 6.2实战部署Nginx+MySQL+PHP http://www.linuxidc.com/Linux/2013-09/90020.htm

使用Nginx搭建WEB服务器 http://www.linuxidc.com/Linux/2013-09/89768.htm

搭建基于Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服务器全过程 http://www.linuxidc.com/Linux/2013-09/89692.htm

CentOS 6.3下Nginx性能调优 http://www.linuxidc.com/Linux/2013-09/89656.htm

CentOS 6.3下配置Nginx加载ngx_pagespeed模块 http://www.linuxidc.com/Linux/2013-09/89657.htm

CentOS 6.4安装配置Nginx+Pcre+php-fpm http://www.linuxidc.com/Linux/2013-08/88984.htm

Nginx搭建视频点播服务器(仿真专业流媒体软件) http://www.linuxidc.com/Linux/2012-08/69151.htm

需要修改Nginx中的C源码文件位于 /nginx源码目录/src/http/modules/ngx_http_static_module.c ,找到如下代码:

if
(r->method & NGX_HTTP_POST) {

return
NGX_HTTP_NOT_ALLOWED;
}

注释掉如下:

/*if (r->method & NGX_HTTP_POST) {

return NGX_HTTP_NOT_ALLOWED;
}
*/

然后再重新编译 make
复制/nginx源码目录/ objs 目录下的 nginx至安装的Nginx目录下,重启Nginx生效。

对于Nginx,可以修改nginc.conf配置文件,改变“405错误”为“200 ok”,并配置location来解决,方法如下:

server
{

listen 80;

server_name www.kiccleaf.com;

index index.html index.htm index.php;

root
/data/kiccleaf
;  

if
($host !=
'www.kiccleaf.com'
) {

rewrite ^/(.*)$ http:
//www
.kiccleaf.com/$1 permanent;

}

location ~ .*\.(php|php5)?$

{

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

include fcgi.conf;

}

#添加以下405代码

error_page 405 =200 @405;

location @405

{

root
/data/kiccleaf
;

}
}
server
{

listen 80;

server_name www.kiccleaf.com;

index index.html index.htm index.php;

root
/data/kiccleaf
;  

if
($host !=
'www.kiccleaf.com'
) {

rewrite ^/(.*)$ http:
//www
.kiccleaf.com/$1 permanent;

}

location ~ .*\.(php|php5)?$

{

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

include fcgi.conf;

}

#添加以下405代码

error_page 405 =200 $uri;
}

企鹅博客
  • 本文由 发表于 2019年10月1日04:18:30
  • 转载请务必保留本文链接:https://www.qieseo.com/161377.html
关于制作U盘安装网众Linux系统 linux服务器应用

关于制作U盘安装网众Linux系统

用U盘作为引导盘能够省去刻录光盘的繁琐事情,而且当您需要对启动文档改变,比如往启动文档initrd.img中加入驱动以识别新硬件的时候,需要经常试验很多次才能成功假如每 次都去刻盘会很麻烦,所以我摸索...

发表评论