Nginx的405 not allowed错误解决方法

 更新时间:2023年05月10日 10:28:40   作者:杰哥的技术杂货铺  
本文主要介绍了Nginx的405 not allowed错误解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1、问题情况

首先看到的页面是nginx返回的页面,得知错误要从nginx上来解决

<html>
<head><title>405 Not Allowed</title></head>
<body bgcolor="white">
<center><h1>405 Not Allowed</h1></center>
<hr><center>nginx/1.0.11</center>
</body>
</html>

2、问题原因

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

3、问题解决

现贴出三种解决方式,供大家选择:

1、将405错误指向成功(我采用的这种方法解决的问题)

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

location / {
        root /usr/share/nginx/html/cashier;
        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、修改错误界面指向(网上多流传这种方式,但是没有改变请求方法,所以行不通,所以采用以下方法)

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、拓展

405 Method Not Allowed是一个HTTP 响应状态代码,表示服务器接收并识别了指定的请求HTTP 方法,但服务器拒绝了请求资源的特定方法。此代码响应确认请求的资源有效且存在,但客户端在请求期间使用了不可接受的 HTTP 方法。

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

相关文章

  • 如何实现Nginx同一端口同时支持http与https协议

    如何实现Nginx同一端口同时支持http与https协议

    最近有一个需求,需要让一个端口的http服务支持https访问,本文就来介绍一下如何实现Nginx同一端口同时支持http与https协议,感兴趣的可以了解一下
    2023-11-11
  • 详解nginx中的日志配置

    详解nginx中的日志配置

    日志对于统计排错来说非常有利的,本文为大家总结了nginx日志相关的配置如access_log、log_format、open_log_file_cache等内容,感兴趣的小伙伴可以了解下
    2023-08-08
  • Linux\Nginx 环境下虚拟域名配置及测试验证

    Linux\Nginx 环境下虚拟域名配置及测试验证

    这篇文章主要介绍了Linux\Nginx 虚拟域名配置及测试验证的步骤详解,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • 利用nginx访问日志如何记录mysql中的用户id详解

    利用nginx访问日志如何记录mysql中的用户id详解

    这篇文章主要给大家介绍了关于利用nginx访问日志如何记录mysql中用户id的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面跟着小编一起来学习学习吧。
    2017-07-07
  • Nginx 实现 TCP/DUP流量按 IP 动态转发操作方法

    Nginx 实现 TCP/DUP流量按 IP 动态转发操作方法

    为优化网络性能和提升服务可用性,通过Nginx配置stream模块根据客户端IP地址动态转发TCP请求至不同后端服务器节点,适用于数据库代理、TCP服务负载均衡及地域或来源IP分流的流量调度等场景,本文给大家介绍Nginx 实现 TCP/DUP流量按 IP 动态转发的操作
    2024-10-10
  • prometheus监控nginx并实现可视化的操作指南

    prometheus监控nginx并实现可视化的操作指南

    Nginx是一款高性能的Web服务器,被广泛应用于各类的网站和应用程序中,为了保证Nginx的正常工作,我们需要对其进行监控和管理,所以本文给大家介绍了prometheus监控nginx并实现可视化的操作指南,需要的朋友可以参考下
    2024-05-05
  • nginx 1.0.0配ngx_cache_purge实现高效的反向代理

    nginx 1.0.0配ngx_cache_purge实现高效的反向代理

    nginx默认安装就会带有反向代理的功能,但想要更好的使用,还得配备frickle.com的ngx_cache_purge模块,用于清除指定URL的缓存。
    2011-06-06
  • 一文带你搞懂什么是Nginx服务器

    一文带你搞懂什么是Nginx服务器

    这篇文章主要介绍了一文带你搞懂什么是Nginx,Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了iMAP/POP3/SMTP服务,需要的朋友可以参考下
    2023-04-04
  • 一文快速了解Nginx超时设置

    一文快速了解Nginx超时设置

    这篇文章主要给大家介绍了关于如何通过一文快速了解Nginx超时设置的相关资料,:后端正常的业务处理时间超过了nginx的超时时间,导致nginx主动返回504,为解决这个问题,我们网上搜索发现可以通过调整这几个参数来调大nginx的超时时间,需要的朋友可以参考下
    2023-11-11
  • centos环境下nginx高可用集群的搭建指南

    centos环境下nginx高可用集群的搭建指南

    为了防止Nginx单点故障造成服务器瘫痪,本文介绍了Nginx实现高可用集群构建,下面这篇文章主要给大家介绍了关于centos环境下nginx高可用集群的搭建指南,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07

最新评论