# 配置健康检查
#### 操作场景
创建后端服务器组后可修改健康检查配置。切换健康检查协议后，负载均衡将使用新协议重新检测后端，检测正常则继续转发流量。
切换健康检查协议的窗口期内，若新协议探测无法正常连通后端，后端实例会被判定为异常并移出转发列表，无可用后端时负载均衡将返回 503 错误码，造成用户请求临时失败。建议变更前确认后端可兼容新健康检查协议，或在业务低峰期执行配置修改，降低故障影响范围。
#### 约束与限制
- 健康检查协议与服务器组的后端协议不强制统一，但部分特殊场景（如协议报文不兼容）可能引发业务故障，建议保持一致。
- 为了减少后端服务器的CPU占用，建议您使用TCP协议做健康检查。如果您希望使用HTTP健康检查协议，建议使用HTTP+静态文件的方式。
- 为保证健康检查功能正常，配置健康检查后必须放通对应的安全组规则，详情请参考[配置后端服务器的安全组](https://support.huaweicloud.com/usermanual-elb/elb_ug_hd_0007.html)。
![](https://support.huaweicloud.com/usermanual-elb/public_sys-resources/note_3.0-zh-cn.png)
开启健康检查后不会影响已建立连接的流量转发，负载均衡会立即对后端服务器执行健康检查。
- 如果健康检查正常，则新建连接的流量会根据分配策略和权重向该服务器转发流量。
- 如果健康异常，则系统会设置该服务器状态为异常，不转发新的流量到该服务器。
 
#### 开启健康检查
1. 进入[后端服务器组列表页面](https://console.huaweicloud.com/vpc/?locale=zh-cn#/elb/elbPool/list)。
2. 在后端服务器组列表页面，单击需要修改健康检查的后端服务器组名称。
3. 在后端服务器组的"基本信息"页签下，单击健康检查区域右侧的"配置健康检查"。
4. 在"配置健康检查"弹窗，开启健康检查并根据需要参考[表1]进行配置。
    表1配置健康检查参数说明 
   | 参数       | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | 示例            |
   |:---|:---|:---|
   | 是否开启       | 开启或者关闭健康检查。 说明： 开启或关闭健康检查期间，监控指标正常主机数/异常主机数会出现短暂波动，一个监控周期后可恢复。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 开启           |
   | 健康检查协议                                                            | 健康检查请求的协议类型。 当后端协议选择UDP，健康检查协议默认为UDP且不可修改。 独享型支持选择TCP、HTTP、HTTPS、TLS、GRPC协议。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | HTTP                                                                |
   | 健康检查方法                                                            | 仅关联独享型负载均衡实例使用的后端服务器组支持该参数。 如果健康检查协议选择HTTP/HTTPS/GRPC协议，则该项是必选参数。 健康检查发送请求的方法。 - GET：采用GET方法发送健康检查请求，后端服务器返回全部信息。  - HEAD：采用HEAD方法发送健康检查请求，后端服务器仅返回 HTTP 头部信息，提升请求效率。 请确保您的后端服务器支持HEAD请求，否则可能会导致健康检查失败，此时可以使用GET方法来进行健康检查。   - POST：采用POST方法发送健康检查请求。 请确保您的后端服务器支持POST请求，否则可能会导致健康检查失败，此时可以使用GET方法来进行健康检查。 说明： - 健康检查协议为HTTP和HTTPS协议时，支持GET方法和HEAD方法。  - 健康检查协议为GRPC协议时，支持GET方法和POST方法。  - 支持设置健康检查方法的功能陆续上线中，请以控制台实际为准。      | GET                                                                  |
   | 健康检查协议版本                                                        | 如果健康检查协议选择HTTP/HTTPS/GRPC/TCP/TLS协议，则该项是必选参数。 选择健康检查HTTP协议版本。 - 默认支持"根据监听器自动选择"，即： - 使用TCP监听器时，默认使用HTTP 1.0版本。  - 使用HTTP/HTTPS/QUIC/TLS监听器时，默认使用HTTP 1.1版本。    - 支持您选择"HTTP 1.0"或"HTTP 1.1"版本。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | 根据监听器自动选择                                                              |
   | 健康检查域名    | 如果健康检查协议选择HTTP/HTTPS/GRPC协议，则该项是必选参数。 健康检查的请求域名。 - 默认**使用后端服务器的内网IP为域名**。  - 您也可选择**指定特定域名**，特定域名只能由字母，数字，中划线组成，中划线不能在开头或末尾，至少包含两个字符串，单个字符串不能超过63个字符，字符串间以点分隔，且总长度不超过100个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | www.elb.com |
   | 健康检查端口   | 健康检查端口号，取值范围\[1，65535\]，为可选参数。 - 默认**使用后端云服务器的业务端口**进行健康检查。  - 支持**指定特定端口**进行健康检查。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | 80          |
   | 健康检查路径    | 如果健康检查协议选择HTTP/HTTPS/GRPC协议，则该项是必填参数。 指定健康检查的路径。检查路径只能以/开头，长度范围\[1-80\]。 后端服务器组关联独享型负载均衡器：检查路径支持使用英文字母、数字和'-'、'/'、'.'、'?'、'#'、'%'、'\&'以及扩展字符集_;\~!（)\*\[\]@$\^:',+。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | /index.html |
   | 是否开启内容校验                                                          | 如果健康检查协议选择TCP/UDP协议，则支持开启内容校验，然后在**请求发送内容** 中输入定义请求内容（例如**TargetID** ），在**响应校验内容** 中输入预期返回的校验结果（例如**elbResponse**）。 同时，您需要在后端服务器部署的应用中加入对应的内容校验逻辑，例如收到**TargetID** 的请求时，返回**elbResponse**。当elb实例收到后端服务器返回的信息与响应校验内容一致时，判定健康检查成功，否则健康检查失败。 如果开启内容校验，您需进行如下配置： - 校验内容格式：支持选择**ascii字符** 或**十六进制** 格式。 - **ascii字符**：长度限制为1-64个字符，包括所有的可显示ascii字符。  - **十六进制**：长度限制为2-64个字符，只能为偶数位，不限大小写。      - 请求发送内容：健康检查报文将发送的报文。  - 响应校验内容：预期收到的健康检查响应报文，如果未收到对应响应，健康检查结果将判断为异常。   说明： 支持设置内容校验的功能陆续上线中，请以控制台实际为准。                                           | -                                                                    |
   | 检查间隔（秒） | 每次健康检查响应的最大间隔时间。 取值范围\[1-50\]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | 5            |
   | 超时时间（秒）  | 每次健康检查响应的最大超时时间。取值范围\[1-50\]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | 3           |
   | 健康检查正常阈值 | 表示判定后端服务器为正常状态时，所需的连续健康检查成功次数，取值范围\[1-10\]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | 3           |
   | 健康检查异常阈值 | 表示判定后端服务器为异常状态时，所需的连续健康检查失败次数，取值范围\[1-10\]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 3            |
   | 健康检查返回码                                                          | 如果健康检查协议选择HTTP/HTTPS/GRPC协议，则该项是必填参数。 自定义健康检查返回的状态码，仅当健康检查请求成功且返回指定状态码时判定后端服务器状态正常。 可输入支持状态码范围内不重复的单个数字或正序的数字区间，如0-10，200-300。多个状态码请输入回车键隔开，最多支持输入5个。 - 检查协议为HTTP/HTTPS时，状态码范围：200-599。  - 检查协议为GRPC时，状态码范围：0-99。   说明： 支持设置健康检查返回码的功能陆续上线中，请以控制台实际为准。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | 200                                                                  |
      
   
5. 单击"确定"。
 
#### 关闭健康检查
1. 进入[后端服务器组列表页面](https://console.huaweicloud.com/vpc/?locale=zh-cn#/elb/elbPool/list)。
2. 在后端服务器组列表页面，单击需要关闭健康检查的后端服务器组名称。
3. 在后端服务器组的"基本信息"页签下，单击健康检查区域右侧的"配置健康检查"。
4. 在"配置健康检查"界面，可根据需要关闭健康检查。
5. 单击"确定"。
 
#### 相关文档
- [健康检查异常诊断](https://support.huaweicloud.com/usermanual-elb/elb_ug_zd_0002.html)
- [其他自助问题诊断](https://support.huaweicloud.com/usermanual-elb/elb_ug_zd_0003.html)
- [健康检查异常排查（独享型）](https://support.huaweicloud.com/elb_faq/zh-cn_topic_0018127975.html)
- API操作
  - [创建健康检查 - CreateHealthMonitor](https://support.huaweicloud.com/api-elb/CreateHealthMonitor.html)
  
  - [查询健康检查详情 - ShowHealthMonitor](https://support.huaweicloud.com/api-elb/ShowHealthMonitor.html)
  
  - [更新健康检查 - UpdateHealthMonitor](https://support.huaweicloud.com/api-elb/UpdateHealthMonitor.html)
  
  - [删除健康检查 - DeleteHealthMonitor](https://support.huaweicloud.com/api-elb/DeleteHealthMonitor.html)
   
 
