欢迎来到元素模板ys720.com,本站提供专业的织梦模板PBOOTCMS模板网站模板网站修改/网站仿站
当前位置:主页 > 程序教程 > 其他教程 >
其他教程

Nginx的405 not allowed错误解决方法

(元素模板) / 2021-09-17 16:53
这是由于nginx安装的时候默认静态文件禁止使用POST方式请求,出现的禁止访问信息

有以下三种解决方法

1静态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; 
    } 
}  

Copyright @ 2013-2021 元素模板 www.ys720.com All Rights Reserved. 版权所有 元素模板 www.ys720.com