美文网首页
nginx HTTP500类型错误码出现的原因以及分析

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

作者: realPeanut | 来源:发表于2020-11-09 22:43 被阅读0次

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

    image.png

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

    1. 客户端

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

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

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

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

    image.jpeg

    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别考虑了,基本不会出现。

    相关文章

      网友评论

          本文标题:nginx HTTP500类型错误码出现的原因以及分析

          本文链接:https://www.haomeiwen.com/subject/hvarbktx.html