您现在的位置是:网站首页>LinuxLinux

Nginx的405 not allowed错误解决【Nginx静态文件响应POST请求,提示405错误问题】

左鹏03-24 15:56:35Linux8368人已围观

简介1、首先看下出现405的提示信息 405 Not Allowed 405 Not Allowed nginx/1.8.1 这是由于nginx安装的时候默认静态文件禁止使用POST方式请求,出现的禁止访问信息 2、有以下三种解决方法 1) location ~ ^/better/.*.(htm|html|gif|jpg|jpeg|png|ico|rar|css|js|zip|txt|flv|

1、首先看下出现405的提示信息

 405 Not Allowed  
       

405 Not Allowed


nginx/1.8.1
这是由于nginx安装的时候默认静态文件禁止使用POST方式请求,出现的禁止访问信息

2、有以下三种解决方法

1)将405错误指向成功

静态server下的location加入error_page 405 =200 $uri;

location ~ ^/better/.*.(htm|html|gif|jpg|jpeg|png|ico|rar|css|js|zip|txt|flv|swf|doc|ppt|xls|pdf|json|ico|htc)$ {  root D:/code/BetterjrWeb;  error_page 405 =200 $uri; } 
2) 修改nginx下src/http/modules/ngx_http_static_module.c文件

if (r->method & NGX_HTTP_POST) { return NGX_HTTP_NOT_ALLOWED; }
这一段注释掉,重新编译,不要make install编译生成的nginx文件复制到sbin下 重启nginx

3)修改错误界面指向(网上多流传这种方式,但是没有改变请求方法,所以行不通,所以采用以下方法)【我使用的这种方式解决的】

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



站点信息

  • 建站时间:2018-09-18
  • 网站程序:Laravel
  • 主题模板:《今夕何夕》
  • 文章统计:79条
  • 统计数据
  • 微信公众号:扫描二维码,关注我们