您可以在添加监听时配置健康检查,通常,使用默认的健康检查配置即可。
背景信息
操作步骤
- 登录负载均衡管理控制台。
- 选择地域,查看该地域的所有负载均衡实例。
- 单击负载均衡实例的ID。
- 单击监听页签。
- 单击添加监听或目标监听操作列的修改监听配置。
- 单击下一步至健康检查页签,配置健康检查。 在配置健康检查时,建议您使用默认值。
表 1. 健康检查配置说明 健康检查配置 说明 健康检查协议 选择健康检查协议类型,监听为TCP协议时,健康检查方式可选TCP或HTTP模式。- TCP模式的健康检查是基于网络层探测,通过发送SYN握手报文来检测服务器端口是否存活。
- HTTP模式的健康检查是通过发送head请求,通过发送HEAD或GET请求模拟浏览器的访问行为来检查服务器应用是否健康。
健康检查方法 (仅HTTP和HTTPS健康检查协议支持)
七层监听(HTTP/HTTPS)健康检查支持HEAD和GET方法,默认采用HEAD方法。 如果您的后端应用服务器不支持HEAD方法或HEAD方法被禁用,则可能会出现健康检查失败,此时可以使用GET方法来进行健康检查。
使用GET方法时,如果Response长度超过8K,会被截断,但不会影响健康检查结果的判定。
说明 所有地域的七层监听健康检查都支持GET方法。健康检查路径和健康检查域名(可选) (仅HTTP健康检查协议支持)
HTTP健康检查默认由负载均衡系统通过后端ECS内网IP地址向该服务器应用配置的缺省首页发起HTTP Head请求。 如果您用来进行健康检查的页面并不是应用服务器的缺省首页,需要指定具体的检查路径。
因为有些应用服务器会对请求中的host字段做校验,即要求请求头中必须存在host字段。如果在健康检查中配置了域名,则SLB会将域名配置到host字段中去,反之,如果没有配置域名,SLB则不会在请求中附带host字段,因此健康检查请求就会被服务器拒绝,可能导致健康检查失败。综上原因,如果您的应用服务器需要校验请求的host字段,则需要配置相关域名,确保健康检查正常工作。
正常状态码 (仅HTTP健康检查协议支持)
选择健康检查正常的HTTP状态码。 默认值为http_2xx和http_3xx。
健康检查端口 健康检查服务访问后端时的探测端口。 默认值为配置监听时指定的后端端口。
说明 如果该监听配置了虚拟服务器组或主备服务器组,且组内的ECS实例的端口都不相同,此时不需要配置检查端口。负载均衡系统会使用各自ECS的后端端口进行健康检查。健康检查响应超时时间 接收来自运行状况检查的响应需要等待的时间。如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。 范围是1~300秒,UDP监听的默认值为10秒,HTTP/HTTPS/TCP监听的默认值为5秒。
健康检查间隔时间 进行健康检查的时间间隔。 LVS集群内所有节点,都会独立、并行地遵循该属性对后端ECS进行健康检查。由于各LVS节点的检查时间并不同步,所以,如果从后端某一ECS上进行单独统计,会发现来自负载均衡的健康检查请求在时间上并不会遵循上述时间间隔。
范围是1-50秒,UDP监听的默认值为5秒,HTTP/HTTPS/TCP监听的默认值为2秒。
健康检查不健康阈值 同一LVS节点服务器针对同一ECS服务器,从成功到失败的连续健康检查失败次数。 可选值2-10,默认为3次。
健康检查健康阈值 同一LVS节点服务器针对同一ECS服务器,从失败到成功的连续健康检查成功次数。 可选值 2-10,默认为3次。
健康检查请求和健康检查返回结果 为UDP监听配置健康检查时,您可以在健康检查请求中输入请求的内容(例如youraccountID),在健康检查返回结果中输入预期的返回结果(例如slb123)。 同时在后端服务器的应用逻辑中加入相应的健康检查应答逻辑,如收到youraccountID的请求时,回应slb123。
此时,当负载均衡收到后端服务器发来的正确响应时,则认为健康检查成功,否则认为健康检查失败。此方式能最大程度确保健康检查的可靠性。
- 单击下一步。