nginx HTTP500类型错误码出现的原因以及分析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx HTTP500类型错误码出现的原因以及分析相关的知识,希望对你有一定的参考价值。

参考技术A HTTP500类型错误码出现的原因以及分析

出现500类型错误问题的时候可以从3个方向来发现问题。

为什么要考虑客户端问题?如果报的错误是501错误,那么有一种可能是客户端的http请求method是nginx无法识别的类型,那么这种情况下会报501错误。

当然,这种情况概率很小,基本不会遇到。

还有一种情况是我们自己为了限制http请求的方法,手动修改nginx配置返回501,这样,当客户端使用我们限定之外的method进行请求时,就会收到501错误码。

配置方法如下:本例中我们只允许GET和HEAD以及POST类型的请求,其他类型将会收到501错误

2.上游

PHP之类的CGI程序出现错误,例如PHP-FPM执行超时,这时nginx会返回502错误,这个502其实是php-fpm间接报给nginx的。接下来的思路就是看PHP-FPM为什么会执行超时,可以继续查看上游

mysql或者redis或者调用的API是否出现了超时,再或者有死循环之类的错误,一一排查后能解决相应错误。

3.nginx本身

如果nginx本身出现问题,例如配置问题,如果NGINX未在自己配置的规定时间内收到上游响应则会报504错误

至于503错误一般是nginx负载过高导致的,对于流量较小的网站来说,也算是一件好事。

505 错误很明显,客户端的http版本不受nginx支持

总结一下,501看客户端 502看上游,504先看nginx本身的配置,然后还得看上游,上游不能太慢啊。503考虑升级服务器或者限流。505别考虑了,基本不会出现。

http状态码分类以及常见状态码分析

在前端工作中,我们需要从接口中获取数据,当获取数据失败等出现问题时,我们需要分析相关的http状态码来分析问题出现在哪儿,所以,http状态码是我们前端工程师需要熟悉的。 HTTP状态码分类 http状态码分为五类:分别为 信息响应(100-199),成功响应(200-299),重定向(300-39

以上是关于nginx HTTP500类型错误码出现的原因以及分析的主要内容,如果未能解决你的问题,请参考以下文章

http的500,502,504错误

Nginx502状态码处理

http 500状态码

Nginx 错误码转发跨域问题处理

Nginx 错误码转发跨域问题处理

Nginx+PHP框架laravel状态码500错误解决!