近期做一个手机端静态网站,在wcm上网站预览的时候显示正常,网站数据发布到nginx网站服务上后,发现页面有部分不显示:

正常页面:

错误页面:

进入谷歌浏览器的Developer Tools(F12键),进入Network探测

查到错误信息:Request Method:POST    Status Code:405 Not Allowed

网上传抄的添加以下配置的解决办法不可用:

error_page 405 =200 @405;
location @405
{
root /data/jcyweb/hnjcy;
}

成功解决问题的方法:

upstream static_backend {
server localhost:80;
} server {
listen 80; # ... error_page 405 =200 @405;
location @405 {
root /data/jcyweb/hnjcy;
proxy_method GET;
proxy_pass http://static_backend;
}
}

即转换静态文件接收的POST请求到GET方式

最后的配置文件:

#user  nobody;
worker_processes auto; ##允许Nginx进程生成的worker process数 根据cpu内核数自动生成
#error_log logs/error.log
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
use epoll; ##配置事件驱动模型
worker_connections ; ##配置最大连接数
} http {
include mime.types; ##定义MIME-Type
default_type application/octet-stream;
log_format main '$remote_addr - [$time_local] - "$request"' ##定义日志类型,远程地址、时间、请求内容、请求状态
' - $status';
types_hash_max_size ; ##多servername需设置
server_names_hash_bucket_size ;
sendfile on;
server_tokens off; ##关闭默认版本号
keepalive_timeout ; ##定义链接超时时间,防止慢速dos攻击
client_header_timeout ; ##请求头超时时间
client_body_timeout ; ##请求体超时时间
reset_timedout_connection on; ##关闭不响应的客户端连接,释放客户端占有内存
send_timeout ; ##客户端两次读取时间,如果这段时间里没有读取任何数据,nginx就会关闭连接 upstream static_backend {
server localhost:;
} server { ##直接访问IP 反馈500错误
listen ;
location / {
root /data/jcyweb/hnjcy;
index index.html;
ssi on;
ssi_silent_errors on;
ssi_types text/shtml;
} error_page /.html;
location = /.html {
root html;
} error_page /50x.html;
location = /50x.html {
root html;
} error_page = @;
location @{
root /data/jcyweb/hnjcy;
proxy_method GET;
proxy_pass http://static_backend;
}
} }

nginx.conf

还有一更好的方法:修改源代码,重新编译安装nginx 

编辑nginx源代码

[root@localhost ~]# vim src/http/modules/ngx_http_static_module.c

修改: 找到下面一段注释掉 

/*
if (r->method & NGX_HTTP_POST)
{
return NGX_HTTP_NOT_ALLOWED;
}
*/

然后按照原来的编译参数,重新编译安装nginx,即可

 

NGINX: 405 Not Allowed的更多相关文章

  1. nginx 405 not allowed问题的解决

    转载自:  http://www.linuxidc.com/Linux/2012-07/66761.htm Apache.IIS.Nginx等绝大多数web服务器,都不允许静态文件响应POST请求,否 ...

  2. Nginx 405 not allowed最简单快速解决办法

    Apache.IIS.Nginx等绝大多数web服务器,都不允许静态文件响应POST请求,否则会返回“HTTP/1.1 405 Method not allowed”错误. server { list ...

  3. Nginx 静态页面POST 请求提示405 Not Allowed

    从git上cp了一个开源的前端框架lay Ajax版本,用Nginx配置访问首页没问题 nginx配置如下: server { listen ; server_name adminhtml.com; ...

  4. Nginx 1.15.5: 405 Not Allowed

    0x00 事件 在做一个业务跳转时,遇到这个错误 405 Not Allowed,找了挺多资料,多数解决方案是让在 nginx 配置文件中直接添加 error_page 405 =200 $uri; ...

  5. HTTP 请求出现 405 not allowed 的一种解决办法

    问题:http post请求网页会出现405 原因: Apache.IIS.Nginx等绝大多数web服务器,都不允许静态文件响应POST请求 解决:将post请求改为get请求

  6. nginx 405错误

    nginx配置文件加上location / { try_files $uri $uri/ /index.php?$query_string; }

  7. Apache、IIS、Nginx等绝大多数web服务器,都不允许静态文件响应POST请求,否则会返回“HTTP/1.1 405 Method not allowed”错误。

    例1:用Linux下的curl命令发送POST请求给Apache服务器上的HTML静态页 [root@new-host ~]# curl -d 1=1 http://www.sohu.com/inde ...

  8. NGINX不允许向静态文件提交POST方式的请求,否则报405错误(apache中没有出现)

    telnet *.*.*.* 80POST /map/navigation/2011winter/jsn/jsn_20120723_pack/pvf.jsnHTTP/1.1Host:*.*.*.* ( ...

  9. nginx上传模块—nginx upload module-

    一. nginx upload module原理 官方文档: http://www.grid.net.ru/nginx/upload.en.html Nginx upload module通过ngin ...

随机推荐

  1. Activiti工作流引擎参考资料

    Activiti工作流引擎使用 工作流-Activiti核心API介绍 传智播客Activiti工作流视频教程(企业开发实例讲解) 工作流引擎Activiti演示项目 http://www.kafei ...

  2. Google Chrome Uncaught TypeError: object is not a function

    <html> <script type="text/javascript"> function testForm(){ alert("hello ...

  3. 目前quanben评十大哲学家

    排名分先后,包含时间.地区和主要正面成就以及其他代表人物. 1. 伊曼努尔·康德:十八世纪:东普鲁士:理性的界限,现象和本体分立以及主体的地位2. 柏拉图:公元前三四百年:古希腊:理想(念)世界3. ...

  4. Leetcode Sum Root to Leaf Numbers

    Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number ...

  5. ACM 荷兰国旗问题

    荷兰国旗问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:1   描述 荷兰国旗有三横条块构成,自上到下的三条块颜色依次为红.白.蓝.现有若干由红.白.蓝三种颜色的条块序列,要 ...

  6. 【BZOJ】2729: [HNOI2012]排队

    题意 \(n\)个男生\(m\)个女生\(2\)个老师排列,任意两个女生不能相邻,两个老师也不能相邻,每个人都不同.问有多少种排法.(\(n, m \le 2000\)) 分析 组合乱搞. 题解 先放 ...

  7. 【BZOJ】1975: [Sdoi2010]魔法猪学院

    题意 \(n(2 \le n \le 5000)\)个点,找尽量多的不同\(1\)到\(n\)的路径,每一次的花费就是路径的全值和,要求在费用不超过\(E\)的情况下路径最多. 分析 裸的最段路. 题 ...

  8. js小效果-双色球

    <!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8" ...

  9. Perform UPSERT / INSERT OR UPDATE against a SQLite Database

    Option 1: You can afford deleting the row In other words, you don't have foreign key, or if you have ...

  10. 关于iOS多线程的总结

    关于iOS多线程的总结   在这篇文章中,我将为你整理一下 iOS 开发中几种多线程方案,以及其使用方法和注意事项.当然也会给出几种多线程的案例,在实际使用中感受它们的区别.还有一点需要说明的是,这篇 ...