Nginx的405错误

Nginx的405错误Nginx的405错误Nginx将静态文件响应POST请求,提示405错误问题:绝大多数服务器,都不允许静态文件响应POST请求(GET请求静态文件是天经地义的),否则会返回HTTP/1.1405Methodnotallowed错误。然而在前端开发中,前端开发工程师经常模拟后端请求,返回静态数据来查看页面效果,怎么办?其实很简单,知道404和50x的错误定义吧,那么就是把405重新定义一…

Nginx的405错误

Nginx将静态文件响应POST请求,提示405错误问题:
绝大多数服务器,都不允许静态文件响应POST请求(GET请求静态文件是天经地义的),否则会返回HTTP/1.1 405 Method not allowed错误。然而在前端开发中,前端开发工程师经常模拟后端请求,返回静态数据来查看页面效果,怎么办?
其实很简单,知道404和50x的错误定义吧,那么就是把405重新定义一下即可,如下:

error_page  405     =200 $uri;

测试环境局部配置

    server {
        listen       8443 ssl;
        server_name  test-rebuild.baidu.com;

        ssl_certificate      ca.crt;
        ssl_certificate_key  baidu.com.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        access_log /var/log/nginx/test-rebuild.aceess.log main;
        root   /usr/share/nginx/html;
        index  index.html index.htm;

        error_page 405 =200 $uri;              #这里200写成其他数字也可以,比如:255,222等都行,自己定义的,就200好了。

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }

    }

其他配置示例

示例一

https://gist.github.com/baskaran-md/e46cc25ccfac83f153bb

server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }

        error_page  404     /404.html;
        error_page  403     /403.html;

        # To allow POST on static pages
        error_page  405     =200 $uri;

        # ...
}

示例二

location ~ \.(action|jsp) {
    root $testDataFold;
    error_page 405 =200 $request_uri;
}

写在最后

网上还有修改源码编译安装的办法,这里就不在展示了,但是这些都不是终极解决方案,违背了规则,最终还要:说服开发不要对静态文件使用 post 方法,对静态文件使用 POST 方法是无意义的,更改成 GET 方法请求静态文件。

转载于:https://blog.51cto.com/chinahao/2057940

今天的文章Nginx的405错误分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/11968.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注