nginx错误码405是啥状态
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx错误码405是啥状态相关的知识,希望对你有一定的参考价值。
参考技术A状态码 405 Method Not Allowed 表明服务器禁止了使用当前 HTTP 方法的请求。需要注意的是,GET 与 HEAD 两个方法不得被禁止,当然也不得返回状态码 405。
解决:解决方法有三种
一. 重定向405错误码到200:在nginx server里面添加以下内容,root为站点的根目录
二. 转换静态文件接收的POST请求到GET方法去
三. 修改nginx源码,源码文件位于/nginx源码目录/src/http/modules/ngx_http_static_module.c,找到如下代码:
扩展资料:
405 错误经常和 POST 方法同时出现。 您可能在您的网站上尝试引入某种输入表格,但并非所有的互联网服务供应商 (ISPs) 都 允许处理该表格所需的 POST 方法。
所有 405 错误都可以追综到 Web 服务器设置和控制访问网站内容的安全管理,因此您的 ISP 应该很容易地予以解释。
参考资料:HTTP状态码_百度百科
nginx 499状态码
可以看到,499对应的是 “client has closed connection”。这很有可能是因为服务器端处理的时间过长,客户端“不耐烦”了。要解决此问题,就需要在程序上面做些优化了。
除了499,nginx还定义了495/496/497/498 这几个Status Codes,相应的意义也在上面的注释中可以看到。开源的东西,可以随时翻看源码,这一点很棒。
=========================================================================================================
HTTP 499 状态码 nginx下 499错误
日志记录中HTTP状态码出现499错误有多种情况,我遇到的一种情况是nginx反代到一个永远打不开的后端,就这样了,日志状态记录是499、发送字节数是0。
|
方法/步骤:
-
proxy_ignore_client_abort的含义。确定在客户端关闭连接时是否应关闭与代理服务器的连接,而不在等待响应。
-
默认 proxy_ignore_client_abort 是关闭的。此时在请求过程中如果客户端主动关闭请求、客户端网络断开,那么 Nginx 会记录 499。
-
如果使用了proxy_ignore_client_abort on。那么客户端主动断掉连接之后,Nginx 会等待后端服务器处理完(或者超时),然后记录“后端的返回信息”到日志。因此,如果后端返回200,就记录200 ;如果后端返回5XX ,那么就记录 5XX。如果超时(默认60s,可以用 proxy_read_timeout 和proxy_send_timeout设置),Nginx 会主动断开连接,记录504。
-
怎么在配置增加proxy_ignore_client_abort on。首先找到配置文件,然后打开它,找到http下的server下的location,把它加进去。配置文件路径(当你执行 nginx -t 的时候,nginx会去测试你的配置文件语法,并告诉你配置文件是否写得正确,同时也告诉了你配置文件的路径)
-
注:不建议使用proxy_ignore_client_abort 来处理这个错误。因为这样当有大量瞬间断开的请求时,后端会默默地全部处理,比较浪费资源,而且并发压力比较大时,用这种方法将压垮机器。这个事情交给 php-fpm 自己来处理其实挺合适。因为 PHP 默认当用户断开请求了会中断请求,如果不想自动中断请求,使用 ignore_user_abort() 就好了。
END
以上是关于nginx错误码405是啥状态的主要内容,如果未能解决你的问题,请参考以下文章
打开网页出现“405 Not Allowed”,是啥意思?怎么解决?