阿里云服务器配置传统型负载均衡CLB(原SLB)

本项目是微信小游戏后端,为单体项目,没有主页,但是微信小游戏这边需要备案过的域名,所以需要申请SSL证书并部署,并将CLB服务器中ip地址与域名绑定。

1、首先准备阿里云服务器若干台、备案过的域名、申请SSL证书,创建CLB实例并绑定实例ip到域名并部署SSL证书到CLB;

2、配置CLB实例,添加监听规则和后端服务器。注意微信这边要求传输协议为https,其默认端口号443

3、注意配置负载均衡实例过程中有个很重要也容易出错的地方,就是健康检查部分。因为如果简单的配置健康检查的可能会导致CLB监听不到后端服务器这边的相关信号,出现502 Bad Gateway,

网上查了相关问题,解释如下:

  HTTP健康检查默认由负载均衡系统通过后端ECS内网IP地址向该服务器应用配置的缺省首页发起http head请求。如果您用来进行健康检查的页面并不是应用服务器的缺省首页,需要指定具体的检查路径。因为有些应用服务器会对请求中的host字段做校验,即要求请求头中必须存在host字段。如果在健康检查中配置了域名,则SLB会将域名配置到host字段中去,反之,如果没有配置域名,SLB则不会在请求中附带host字段,因此健康检查请求就会被服务器拒绝,可能导致健康检查失败。综上原因,如果您的应用服务器需要校验请求的host字段,那么则需要配置相关的域名,确保健康检查正常工作。从这里可以发现SLB与ECS之间如果是HTTP协议的话,需要有一个默认的url可以接收HEAD请求,这样SLB才知道ECS是否还活着,这就是所谓的健康检查。简单点可以理解为心跳检查。那我们的问题原因很简单就是因为文件服务没有一个可供SLB检查的默认页,所以导致了健康检查失败。解决的方法也简单,给SLB配置一个健康检查的url即可,这样就好了。

 

我这里部署在阿里云ecs的单体项目没有首页,没有域名解析,也没有使用Nginx,所以配置健康检查时应该指定一个url供CLB健康检查。

 

 

 

 

 

 全部配置完之后,通过postman访问域名(https协议端口号默认为443)加上接口路径--->CLB的ip地址+端口号+接口路径,可以访问到阿里云ecs中成功部署项目中的对应接口,获取对应的数据。

posted @ 2022-11-21 14:13  旧梦周拾柒  阅读(1714)  评论(0)    收藏  举报