502, 503和504的区别

Http状态码中502, 503, 504的区别是什么

阅读 18k
评论
    4 个回答
    • 4.9k
      • 9.4k

      背景:

      • 以nginx作为web server

      • 以php为后台语言

      502:nginx在这里充当的是反向代理服务器的角色,是把http协议请求转成fastcgi协议的请求,通过fastcgi_pass指令传递给php-fpm进程,当php-fpm进程响应的内容是nginx无法理解的响应,就会返回502 bad gateway
      503:一个http请求占用一个php-fpm进程,瞬时请求量过大时,没有足够的php-fpm进程去处理请求,就会返回503 service unavailable
      504:单个php-fpm进程阻塞超过nginx的时间阈值返回504 gateway timeout

        • 110

        简单的说:
        502
        灾难事件: 在某个连着两天的早晨9:00 左右,我们的服务器不幸挂掉了,影响了一批用户上班(早上着急上班骑不了自行车了,/捂脸)。当时打开我们的app和公司内部系统,报错都是502。
        问题原因:服务器冷不丁坏掉了
        解释:出现502错误,通常意味着一两个机器已经不正确,简单点说,就是机器挂掉了。理论点儿说,nginx执行请求的时候,却收到了上游服务器的无效响应
        503
        灾难事件:临时的服务器维护/过载,服务器当前无法处理请求,报503
        问题原因:请求用户量太多,服务器为了保护自己不挂掉,机智的拒绝某些用户的访问,这些用户就会收到503这个错误
        解决办法: 等一会儿仔访问该网站或者尝试强刷新页面,问题一般就能够解决了。
        504
        事件描述:dns查询过程超时,返回504;摸不着头脑,不管访问什么网站,都报504这个错误
        问题原因:nginx或者后端配置不正确
        解决办法:上网查nginx或后端的配置参数是否正确或者合理
        解释: 实际上504很少会遇到,通常这个错误是由于nginx配置不当引起的,比如你将你的nginx的超时时间设置为300,那么如果此次请求的响应时间超过了300,你就会看到504这个报错。明白了吧。官方说法:请求超时

        找了一张图,瞅瞅
        图片描述

            撰写回答

            登录后参与交流、获取后续更新提醒

            相似问题
            推荐文章