关于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层限流方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • Nginx中autoindex的具体使用

    Nginx中autoindex的具体使用

    autoindex是Nginx配置的一个指令,它可以控制Nginx是否允许在浏览器中显示一个目录的内容,本文主要介绍了Nginx中autoindex的具体使用,具有一定的参考价值,感兴趣的可以了解一下
    2024-06-06
  • nginx配置location总结location正则写法及rewrite规则写法

    nginx配置location总结location正则写法及rewrite规则写法

    本文详细讲述了Nginx location正则写法,Nginx 的Rewrite规则以及Nginx.conf中if指令与全局变量
    2018-10-10
  • Nginx的URL重写及IP访问控制详解

    Nginx的URL重写及IP访问控制详解

    Nginx 是一个高性能的 HTTP 服务器和反向代理服务器,广泛应用于 Web 服务中,除了基本的 HTTP 服务功能外, Nginx 还提供了许多强大的功能,如 URL 重写、 IP 访问控制和基本认证,本文小编给大家详细介绍了Nginx的URL重写及IP访问控制,需要的朋友可以参考下
    2025-05-05
  • nginx 服务绑定域名的方法

    nginx 服务绑定域名的方法

    这篇文章主要介绍了nginx 服务绑定域名的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • Nginx启用Brotli算法压缩的示例

    Nginx启用Brotli算法压缩的示例

    这篇文章主要介绍了Nginx启用Brotli算法压缩的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • 检查 Nginx 是否启动的几种方法

    检查 Nginx 是否启动的几种方法

    本文主要介绍了检查 Nginx 是否启动的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-12-12
  • Nginx伪静态配置和常用Rewrite伪静态规则集锦

    Nginx伪静态配置和常用Rewrite伪静态规则集锦

    伪静态是一种可以把文件后缀改成任何可能的一种方法,如果我想把php文件伪静态成html文件,这种相当简单的,下面我来介绍nginx 伪静态配置方法有需要了解的朋友可参考。
    2014-06-06
  • 使用nginx正向代理实现内网域名转发过程解析

    使用nginx正向代理实现内网域名转发过程解析

    这篇文章主要介绍了使用nginx正向代理实现内网域名转发过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Windows Server 2016 MySQL数据库安装配置详细安装教程

    Windows Server 2016 MySQL数据库安装配置详细安装教程

    这篇文章主要介绍了Windows Server 2016 MySQL数据库安装配置详细安装教程,需要的朋友可以参考下
    2017-08-08

最新评论