NGINX: 405 Not Allowed
近期做一个手机端静态网站,在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的更多相关文章
- nginx 405 not allowed问题的解决
转载自: http://www.linuxidc.com/Linux/2012-07/66761.htm Apache.IIS.Nginx等绝大多数web服务器,都不允许静态文件响应POST请求,否 ...
- Nginx 405 not allowed最简单快速解决办法
Apache.IIS.Nginx等绝大多数web服务器,都不允许静态文件响应POST请求,否则会返回“HTTP/1.1 405 Method not allowed”错误. server { list ...
- Nginx 静态页面POST 请求提示405 Not Allowed
从git上cp了一个开源的前端框架lay Ajax版本,用Nginx配置访问首页没问题 nginx配置如下: server { listen ; server_name adminhtml.com; ...
- Nginx 1.15.5: 405 Not Allowed
0x00 事件 在做一个业务跳转时,遇到这个错误 405 Not Allowed,找了挺多资料,多数解决方案是让在 nginx 配置文件中直接添加 error_page 405 =200 $uri; ...
- HTTP 请求出现 405 not allowed 的一种解决办法
问题:http post请求网页会出现405 原因: Apache.IIS.Nginx等绝大多数web服务器,都不允许静态文件响应POST请求 解决:将post请求改为get请求
- nginx 405错误
nginx配置文件加上location / { try_files $uri $uri/ /index.php?$query_string; }
- 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 ...
- NGINX不允许向静态文件提交POST方式的请求,否则报405错误(apache中没有出现)
telnet *.*.*.* 80POST /map/navigation/2011winter/jsn/jsn_20120723_pack/pvf.jsnHTTP/1.1Host:*.*.*.* ( ...
- nginx上传模块—nginx upload module-
一. nginx upload module原理 官方文档: http://www.grid.net.ru/nginx/upload.en.html Nginx upload module通过ngin ...
随机推荐
- ACM 16进制的简单运算
16进制的简单运算 时间限制:1000 ms | 内存限制:65535 KB 难度:1 描述 现在给你一个16进制的加减法的表达式,要求用8进制输出表达式的结果. 输入 第一行输入一个正整 ...
- 在 Excel 工作簿中定义决策表(Oracle Policy Modeling-Define decision tables in Excel workbooks)
要在 Excel 中编写规则,您只需在表中编写规则,并使用 Oracle Policy Modeling 样式标识单元格中的信息类型, 以便这些规则可以编译并在 Oracle Determinatio ...
- 每日英語2013.09.09(Email常用單字)
carbon copy 副本抄送 forward 轉交;轉寄(+to) Please check the file carried by this email for the details.細節請看 ...
- Bootstrap整合ASP.NET MVC验证、jquery.validate.unobtrusive
没什么好讲的,上代码: (function ($) { var defaultOptions = { validClass: 'has-success', errorClass: 'has-error ...
- 用java页面下载图片
try { //根据String形式创建一个URL对象 String filePath = materialProductWorks.getDownloadImageUrl(); URL url = ...
- 李洪强iOS经典面试题133--UNIX常用命令
可能碰到的iOS笔试面试题(3)--UNIX常用命令 做开发说用不到命令行,那肯定是不可能的.所以记住几个常用的命令还是很有用. cd 改变工作目录 pwd 输出当前工作目录的绝对路径在UNIX中要执 ...
- 李洪强iOS经典面试题131
培训机构量产iOS程序员,导致了现在iOS就业的浮躁和困难.但是技术好的人仍然不愁工作,而一些想进入行业捞一笔就走的人,势必在今年这种艰难就业形式下,被迫淘汰,转行. look.jpg 这张图是git ...
- 拿到添加对象的id号方法
以前Hibernate添加对象,想拿到id号的时候都是根据id排序拿到第一条 ,才知道 这样也可以 /** * @Description: 添加一个角色信息 * @ret ...
- springMVC工作机制和框架搭建配置说明
先说一下springMVC的工作机制 1.springmvc把 所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责对请求进行真正的处理工作. 2.Dispatcher ...
- Joomla 3.2.0 - 3.4.4 无限制SQL注入漏洞
http://www.sebug.net/vuldb/ssvid-89680#0-tsina-1-18081-397232819ff9a47a7b7e80a40613cfe1 http://10.21 ...