如果你通过阿里云北京代理商万维景盛折上折购买了阿里云服务器,将服务器安装nginx用于反向代理时,遇到502 bad gateway的报错,那怎么解决呢?阿里云分销商北京万维景盛工程师为您分享解决方法。
故障分析:
502 Bad Gateway 服务器之间发生了错误,充当代理或网关时,您的服务器在尝试处理请求时未收到上游服务器的正确响应。也就是问题出在上游服务器。
接下来检查上游服务器,看如果直接访问上游服务器,是否出现502bad gateway的报错?如果直接访问,没有502bad gateway的报错,那么再继续排查问题。
502 Bad Gateway 是一种HTTP协议的服务器端错误状态代码,它表示作为网关或代理角色的服务器,从上游服务器(如tomcat、php-fpm)中接收到的响应是无效的。
Gateway (网关)在计算机网络体系中可以指代不同的设备,502 错误通常不是客户端能够修复的,而是需要由途径的Web服务器或者代理服务器对其进行修复。
代理缓冲区设置过小(使用了nginx反向代理的情况)
如果header过大,超出了默认的1k,就会引发upstream sent too big header
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | server { listen 80; server_name *. test .com; location / { ###############添加这3行 proxy_buffer_size 64k; proxy_buffers 32 32k; proxy_busy_buffers_size 128k; ###############添加这3行 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; ............ } |
如果增加缓冲区仍然不能解决502bad gateway的问题,那么我们需要检查上游服务器是否开启了web防火墙。可以关闭外部防火墙,然后再进行测试,如果防火墙关闭后502把gateway报错消失那么就是web防火墙进行了拦截造成的报错。这时我们只需要在上游web防火墙当中将nginx反向代理服务器的IP地址加入白名单就可以解决这个问题了。
万维景盛作为阿里云北京分销合作伙伴,不仅为中小企业客户提供优惠的价格折扣,同时还提供免费的技术支持服务。如果您需要采购阿里云服务器或其他阿里云产品,不妨联系万维景盛作为采购渠道,可以每年为公司节省一笔不小的费用。