当前位置:论坛首页 > Linux面板 > 求助

Nginx 405 not allowed

发表在 Linux面板2022-10-27 14:22 [复制链接] 0 3920

百度搜到 答案是禁止post请求 小白 无奈找不到说的位置能否指导下谢谢


求助这个说的第一个方法在啥位置找不到路径直接修改 ng配置报错  

万分求助


这是由于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;  }[size=0.8em]nginx
Copy


2)修改nginx下src/http/modules/ngx_http_static_module.c文件
if (r->method & NGX_HTTP_POST) {       return NGX_HTTP_NOT_ALLOWED;  }[size=0.8em]nginx
Copy


这一段注释掉,重新编译,不要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;      }  }  

使用道具 举报 只看该作者 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术免费分析

工作时间:09:00至18:30

快速回复 返回顶部 返回列表