专栏首页程序生涯Nginx的405 not allowed错误解决

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 ~ ^/better/.*\.(htm|html|gif|jpg|jpeg|png|ico|rar|css|js|zip|txt|flv|swf|doc|ppt|xls|pdf|json|ico|htc)$ {
<span style="white-space:pre">	</span>root D:/code/BetterjrWeb;
<span style="white-space:pre">	</span>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;
    }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • HONEYPOT(蜜罐技术)

    用户7657330
  • 原生APP与web APP的区别

      Web App即是一种框架型APP开发模式(HTML5 APP 框架开发模式),该开发具有跨平台的优势,该模式通常由“HTML5云网站+APP应用客户端”两...

    用户7657330
  • SGML、HTML和XML之间的关系

    SGML规定了在文档中嵌入描述标记的标准格式,指定了描述文档结构的标准方法,目前在WEB上使用的HTML格式便是使用固定标签集的一种SGML文档。用于SGML可...

    用户7657330
  • 了解Structured Streaming

    在2.0之前,Spark Streaming作为核心API的扩展,针对实时数据流,提供了一套可扩展、高吞吐、可容错的流式计算模型。 Spark Streamin...

    曲水流觞
  • tomcat部署应用时设置context path为空的上下文路径问题

    在<Context>配置中包含如下信息: 1. 配置docBase值为:docBase="app"或者docBase="app.war"; 2. path为空,...

    2Simple
  • 你真的了解HR问你的问题么?

    现在是资源共享的时代,同样也是知识分享的时代,如果你觉得本文能学到知识,请把知识与别人分享。 面试的三大要素:简历,笔试,面试,前几天讲了笔试题,还发了...

    互扯程序
  • Spring解密 - Bean 加载流程

    在 Spring解密 - XML解析 与 Bean注册 中,讲了 Bean的解析,本章将详细讲解 Spring中Bean的加载过程,相比 解析而言,加载稍微复杂...

    battcn
  • C++ gflags库使用说明

    gflags 是 google 开源的用于处理命令行参数的项目。使用c++开发,具备python接口。

    莫斯
  • 深度学习入门数据集--1.Cifar10数据集

    官网地址 官网上提供多种格式数据集,我们选bin。首先观察前25条记录。由于图像像素32*32,很多图像人眼也是难以进行辨别。

    birdskyws
  • 聊聊SpringCloudRegistryFactory

    spring-cloud-alibaba-2.1.0.RELEASE/spring-cloud-alibaba-dubbo/src/main/java/com/...

    codecraft

扫码关注云+社区

领取腾讯云代金券