本项目是微信小游戏后端,为单体项目,没有主页,不需要设置域名解析。
1、首先准备阿里云服务器若干台,创建CLB实例;
2、配置CLB实例,添加监听规则和后端服务器;
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访问CLB的ip地址+端口号+接口路径,可以访问到阿里云ecs中成功部署项目中的对应接口,获取对应的数据。
标签:配置,CLB,host,传统型,服务器,健康检查,SLB From: https://www.cnblogs.com/ZYJ-Breeze/p/16911276.html