关于nginx报错405 not allowed解决方法总结

 更新时间:2023年10月14日 10:20:15   作者:好怪~  
这篇文章主要给大家介绍了关于nginx报错405 not allowed解决方法的相关资料,nginx遇到post请求静态文件会得到405错误,文中通过代码介绍的非常详细,也给出了推荐方法,需要的朋友可以参考下

一、报错原因提示:nginx 解决 405 not allowed错误

问题产生原因:因为这里请求的静态文件采用的是post方法,nginx是不允许post访问静态资源。题话外,试着post访问了下www.baidu.com发现页面也是报错,可以试着用get方式访问

二、解决方式(四种)

1、将405错误指向成功

静态server下的location加入 error_page 405 =200 $uri;(说白了就是强制将405错误用200代替了)

location / {
        root /usr/locai/nginx/html/kt;
        try_files $uri $uri/ /index.html;
        index index.html index.htm;
        error_page 405 =200  $request_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、允许nginx的post请求访问静态资源,个人感觉是强制把post请求变get了

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;
    }
}

**4、跨服务调用报错解决(亲测有效)

    server {
        listen       8010;
        server_name  localhost;
        location / {
            root   /usr/local/system/efe/dist;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;
            error_page 405 =200 @405;
        location @405 {
             proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             #ip为后端服务地址
             proxy_pass http://ip+端口$request_uri ;
        }
   }

总结 

到此这篇关于关于nginx报错405 not allowed解决的文章就介绍到这了,更多相关nginx报错405 not allowed内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Nginx文件下载站点搭建的实现步骤

    Nginx文件下载站点搭建的实现步骤

    本文主要介绍了Nginx文件下载站点搭建的实现步骤,包含配置Nginx和Fancyindex来搭建文件下载站点,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • 详解Nginx 502错误解决办法

    详解Nginx 502错误解决办法

    这篇文章主要介绍了详解Nginx 502错误解决办法的相关资料,这里说明几种可能出现的502错误的实例,并一一说明如何解决,需要的朋友可以参考下
    2017-08-08
  • Nginx如何配置根据路径转发详解

    Nginx如何配置根据路径转发详解

    Nginx是作为一个反向代理,转发,和负载均衡的服务器,也可以用于分布式,下面这篇文章主要给大家介绍了关于Nginx如何配置根据路径转发的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • 详解nginx配置url重定向-反向代理

    详解nginx配置url重定向-反向代理

    这篇文章主要介绍了详解nginx配置url重定向-反向代理 ,nginx的重定向和nginx的反向代理的原理还是有区别的。有兴趣的可以了解一下。
    2016-12-12
  • Nginx配置SSL证书出错解决方案

    Nginx配置SSL证书出错解决方案

    这篇文章主要介绍了Nginx配置SSL证书出错解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • 详解NGINX如何统计网站的PV、UV、独立IP

    详解NGINX如何统计网站的PV、UV、独立IP

    做网站的都知道,平常经常要查询下网站PV、UV等网站的访问数据,这篇文章主要介绍了详解NGINX如何统计网站的PV、UV、独立IP ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • 5分钟搞定Nginx安装的教程

    5分钟搞定Nginx安装的教程

    下面小编就为大家分享一篇5分钟搞定Nginx安装的教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-11-11
  • Linux中Nginx的防盗链和优化的实现代码

    Linux中Nginx的防盗链和优化的实现代码

    今天是周末小编在值班哈,很开森,工作使我快乐,本文重点给大家介绍Linux中Nginx的防盗链和优化问题及实现代码,需要的朋友跟随小编一起看看吧
    2021-06-06
  • Nginx安装与使用教程详解

    Nginx安装与使用教程详解

    这篇文章主要介绍了Nginx安装与使用教程详解的相关资料
    2016-09-09
  • Nginx学习之如何搭建文件防盗链服务的方法示例

    Nginx学习之如何搭建文件防盗链服务的方法示例

    这篇文章主要介绍了Nginx学习之如何搭建文件防盗链服务的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10

最新评论