阿里云负载均衡SLB--报错502 Bad Gateway 的解决方案

阿里云负载均衡SLB--报错502 BadGateway 的解决方案

  • 一、阿里云负载均衡SLB 介绍
  • 二、故障现象及其解决方案
    • 1、故障描述
    • 2、解决方案



一、阿里云负载均衡SLB 介绍

健康检查配置 说明
域名和检查路径(仅限HTTP方式的健康检查)

HTTP健康检查默认由负载均衡系统通过后端ECS内网IP地址向该服务器应用配置的缺省首页发起http head请求。

如果您用来进行健康检查的页面并不是应用服务器的缺省首页,需要指定具体的检查路径.

因为有些应用服务器会对请求中的host字段做校验,即要求请求头中必须存在host字段。如果在健康检查中配置了域名,则SLB会将域名配置到host字段中去,反之,如果没有配置域名,SLB则不会在请求中附带host字段,因此健康检查请求就会被服务器拒绝,可能导致健康检查失败。综上原因,如果您的应用服务器需要校验请求的host字段校,那么则需要配置相关的域名,确保健康检查正常工作。


二、故障现象及其解决方案

1、故障描述

在浏览器访问 通过SLB配置的 URL地址,出现如下错误:

502 Bad Gateway
The proxy server received an invalid response from an upstream server. 

一般出现上面的错误提示,有两种原因造成:(第2种是常见现象

  1. 后端服务器本身就报502错误(如:Nginx)
  2. 阿里云SLB健康检查机制没有设置好。这种情况在ECS服务器上通过本机IP(or内网IP)访问是好的。



2、解决方案

       SLB 与 ECS 之间如果是 HTTPS 协议的话,需要有一个默认的 URL 可以接受 HEAD 请求,这样 SLB 才知道 ECS 是否存活着,这就是所谓的健康检查。简单点可以理解为心跳检查。
       问题原因:该后端服务器没有一个可供 SLB 检查的默认页,所以导致了健康检查失败。
       解决方案:给 SLB 配置一个健康检查的 URL 即可。




你可能感兴趣的:(阿里云aliyun,负载均衡,阿里云负载均衡,SLB,502,Bad,Gateway)