专栏首页程序生涯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 条评论
登录 后参与评论

相关文章

  • Nginx登录报错:405 Not Allowed的解决方法

    今天把网站部署到服务器上,结果登录的时候 Nginx 报错:“405 Not Allowed”。如下图:

    德顺
  • 线上遇到nginx Cors跨域请求OPTIONS方法405 Method Not Allowed问题

    cookily
  • 安装varish作为缓存和代理

    1,Varish的使用有两种模式:第1种 Nginx(负载)+varish(缓存)+WEB第2...

    Java架构师必看
  • HTTP method GET is not supported by this URL

    在写一个简单的浏览器访问客户端代码的时候突然遇到了这个错误,那么我就来讲讲这个错误为什么发生 首先我们来看看浏览器报错的信息

    一只胡说八道的猴子
  • ASP.NET WebApi+Vue前后端分离之允许启用跨域请求

      这段时间接手了一个新需求,将一个ASP.NET MVC项目改成前后端分离项目。前端使用Vue,后端则是使用ASP.NET WebApi。在搭建完成前后端框架...

    追逐时光者
  • 使用 Nginx 构建前端日志统计服务(打点采集)服务

    工作中经常会遇到需要“数据支撑”决策的时候,那么可曾想过这些数据从何而来呢?如果业务涉及 Web 服务,那么这些数据的来源之一便是服务器上各种服务器的请求数据,...

    soulteary
  • 使用 Nginx 构建前端日志统计服务(打点采集)服务

    工作中经常会遇到需要“数据支撑”决策的时候,那么可曾想过这些数据从何而来呢?如果业务涉及 Web 服务,那么这些数据的来源之一便是服务器上各种服务器的请求数据,...

    soulteary
  • 宝塔面板phpmyadmin访问出现405 Not Allowed

    宝塔面板安装phpmyadmin的时候,访问出现405 Not Allowed (Nginx)

    聚优云惠
  • [日常] HTTP协议状态码

    陶士涵
  • 解决 Maven 使用Tomcat 部署报错 Tomcat return http status error: 405, Reason Phrase: Method Not Allowed:

    出现如下报错: Tomcat return http status error: 405, Reason Phrase: Method Not Allowe...

    MickyInvQ
  • 常用的http网页错误代码表---------495引发的一个简单到爆,但基于国内环境只能呵呵呵的血案

    然后,正常的跑去百度,看了一堆还是没有完整的网页错误代码,应该说国内的环境的网页错误代码表只有官方的那几个,那么只能FQ了。

    ydymz
  • 使用 Nginx 容器为 Traefik 配置高性能通用错误页面

    使用 Traefik 比较久的读者应该会发现,在服务重启的时候,原来的网站会展示 404 not found 的空白页面,虽然多数情况下服务恢复很快,但是这个恢...

    soulteary
  • 使用 Nginx 容器为 Traefik 配置高性能通用错误页面

    使用 Traefik 比较久的读者应该会发现,在服务重启的时候,原来的网站会展示 404 not found 的空白页面,虽然多数情况下服务恢复很快,但是这个恢...

    soulteary
  • Linux下的Nginx安装(开机自启动)

    pcre:8.12     下载地址: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/

    meteoric
  • MySQL 8.0 Public Key Retrieval is not allowed 错误的解决方法

    在使用 MySQL 8.0 时重启应用后提示 com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnecti...

    botkenni
  • WebService初步使用

    删掉bin中的class之后,出现cant find the main class,解决:执行clean project->clean

    ZONGLYN
  • Nginx反向代理proxy

    这篇文章主要介绍了Nginx反向代理proxy_cache_path directive is not allowed错误解决方法,需要的朋友可以参考下

    习惯说一说
  • HTTP 状态码汇总

    400 Bad request(错误请求) 401.1 Logon failed(登录失败) 401.2 Logon failed due to serve...

    苦咖啡
  • Hgame-Week1-web

    发现提及到博客、github、版本管理工具,可以联想到git泄露(hexo博客能是白搭建的吗!!!)

扫码关注云+社区

领取腾讯云代金券