# 添加HTTP监听器
#### 操作场景
HTTP协议适用于需要对数据内容进行识别的应用，如Web应用、小的手机游戏等。您可以添加一个HTTP监听器转发来自HTTP协议的请求。
#### 约束与限制
- HTTP监听器仅支持添加后端协议为HTTP的后端服务器组。
- 如果您的独享型负载均衡实例类型为网络型，则无法创建HTTP监听器。
 
#### 添加HTTP监听器
1. 进入[弹性负载均衡列表页面](https://console.huaweicloud.com/vpc/?locale=zh-cn#/elb/list)。
2. 在弹性负载均衡列表页面，单击需要添加监听器的负载均衡名称。
3. 切换到"监听器"页签，单击"添加监听器"，配置监听器。配置监听器参数参见[表1]。
    表1独享型负载均衡配置HTTP监听器参数说明 
   | 参数              | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
   |:---|:---|
   | 前端协议           | 客户端与负载均衡监听器建立流量分发连接的协议。 选择HTTP协议。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   | 监听端口           | 客户端与负载均衡监听器建立流量分发连接的端口。 取值范围为：\[1-65535\]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | 名称（可选）           | 监听器名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   | 重定向至监听器        | 将HTTP监听器接受的请求转发至HTTPS监听器，可以加密通信过程，增强业务的安全性。 例如：当客户端通过HTTP请求访问的时候，后端服务器会返回HTTPS的响应，即强制以HTTPS请求访问网页。实际业务转发将以HTTPS监听器的配置为准，向后端服务器进行转发，原有HTTP监听器的配置失效。 HTTP监听器被重定向后，会返回301返回码。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   | 获取客户端IP        | 独享型ELB默认支持"获取客户端IP"。 HTTP监听器转发时，支持通过X-Forwarded-For字段传递客户端的真实IP，X-Forwarded-For字段记录的第一个IP地址即为客户端真实IP。 更多详情请参考[独享型ELB获取客户端真实IP](https://support.huaweicloud.com/usermanual-elb/elb_ug_jt_0514.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   | 高级转发策略          | 高级转发策略支持多样化的转发规则和转发动作，便于灵活分流业务，合理分配资源。 更多信息请参见[高级转发策略概述](https://support.huaweicloud.com/usermanual-elb/elb_ug_jt_060301.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   | 访问控制            | 您可以使用ELB监听器的**访问控制** 功能来**控制访问ELB监听器的IP地址，** 更多信息请参见[访问控制](https://support.huaweicloud.com/usermanual-elb/elb_03_0003.html)。 监听器的访问控制默认支持"**允许所有IP访问**"。 您可以为监听器的访问控制设置**白名单** 或**黑名单** ，并选择适用的IP地址组。 - **白名单**：只有白名单中的IP可以访问ELB的监听器。监听器仅转发来自所选访问控制IP地址组中设置的IP地址或网段的请求。  - **黑名单**：黑名单中的IP禁止访问ELB的监听器。监听器不会转发来自所选访问控制策略组中设置的IP地址或网段的请求。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   | **更多设置（可选）**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     ||
   | 数据压缩           | 开启将对特定文件类型进行压缩；关闭则不会对任何文件类型进行压缩。 Brotli和Gzip支持压缩的类型如下： text/html text/xml text/plain text/css application/javascript application/x-javascript application/rss+xml application/atom+xml application/xml application/json。 说明： 该功能陆续上线中，已发布区域请以控制台实际为准。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   | 后端建连失败重调度       | 开启此开关，当ELB与后端服务器因连接错误或请求超时导致建连失败时，ELB会向后端服务器组内的其他后端服务器发起重试。 最多重试4次，若均失败，则返回502或504错误码。 - 连接错误：ELB在连接后端服务器时发生错误 ，如无法连接、拒绝连接等，返回502错误码。  - 请求超时：后端服务器没有响应，返回504错误码。 - 连接超时：ELB尝试与后端服务器建立连接，但在超时时间内没有成功。  - 等待响应超时：ELB已发送请求到后端服务器，但在超时时间内没有及时收到响应。     注意：对于非幂等性请求方法的请求，例如POST、PATCH和DELETE，如果ELB已经将请求转发到后端服务器之后发生了错误，则不会重试。 说明： 该功能陆续上线中，已发布区域请以控制台实际为准。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   | 空闲超时时间（秒）       | 如果在空闲超时时间内一直没有访问请求，负载均衡会中断当前连接，直到下一次请求到来时再重新建立新的连接。 时间取值范围\[0-4000\]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   | 请求超时时间（秒）     | 客户端向负载均衡发起请求，如果在请求超时时间内客户端没有完成整个请求的传输，负载均衡将放弃等待关闭连接。 时间取值范围\[1-300\]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   | 响应超时时间（秒）      | 负载均衡向后端服务器发起请求，如果响应超时时间内接收请求的后端服务器无响应，负载均衡会向其他后端服务器重试请求。如果重试期间后端服务器一直没有响应，则负载均衡会给客户端返回HTTP 504错误码。 如果开启了会话保持功能，响应超时时间内对应的后端服务器无响应，负载均衡将不会发起重试请求，直接返回HTTP 504错误码。 时间取值范围\[1-300\]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
   | 每秒新建连接限速（每可用区） | 默认不限速，支持选择"限速"并输入限速值。 限速值代表当前监听器下，负载均衡实例在每个可用区支持的每秒新建连接数上限。 取值范围：1\~1000000。当限速值大于弹性负载均衡的实例规格时，以实例规格为上限。 说明： 该功能陆续上线中，已发布区域请以控制台实际为准。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   | 每秒并发连接限速（每可用区）  | 默认不限速，支持选择"限速"并输入限速值。 限速值代表当前监听器下，负载均衡实例在每个可用区支持的每秒并发连接数上限。 取值范围：1\~1000000。当限速值大于弹性负载均衡的实例规格时，以实例规格为上限。 降低并发连接限速，已建立连接不受影响。 说明： 该功能陆续上线中，已发布区域请以控制台实际为准。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | 标签            | 可通过配置该项使用标签功能。标签的"键"和"值"是一一对应的，其中"键"值是唯一的。 说明： 该功能陆续上线中，已发布区域请以控制台实际为准。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   | 描述（可选）        | 对于监听器描述。 字数范围：0/255。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   | 附加HTTP头字段        | 根据您的业务需求，您可以选择添加的HTTP头字段。 - **客户端访问信息** ： - 通过X-Forwarded-For字段配置客户端的源IP地址 - 附加：ELB将客户端源IP地址保存到X-Forwarded-For头字段中发送给后端服务器。如果客户端原始请求中未包含X-Forwarded-For头字段，ELB会在转发的请求中添加X-Forwarded-For头字段。如果客户端请求中已包含X-Forwarded-For头字段，ELB会在该头字段中附加客户端源IP地址。  - 删除：ELB删除客户端请求中的X-Forwarded-For头字段后，再将请求转发后端服务器。    - 通过重写X-Real-IP字段获取客户端的源IP地址。  - 通过重写X-Forwarded-For-Port字段获取客户端的端口。  - 通过重写X-Forwarded-Host字段获取客户端的域名。    - **负载均衡器信息** ： - 通过重写X-Forwarded-Proto字段获取访问负载均衡实例的监听器的协议。  - 通过重写X-Forwarded-ELB-IP字段获取负载均衡实例的公网IP地址。  - 通过重写X-Forwarded-Port字段获取负载均衡实例的监听端口。  - 通过重写X-Forwarded-ELB-ID字段获取访问的负载均衡实例的ID。     更多详情请参考[配置附加HTTP头字段](https://support.huaweicloud.com/usermanual-elb/zh-cn_topic_0118147668.html)。 说明： 支持附加HTTP头字段功能陆续上线中，已发布区域请以控制台实际为准。 |
      
   
4. 单击"下一步：配置后端分配策略"，配置监听器的默认后端服务器组。
   1. 推荐选择"使用已有"后端服务器组，您可参考[创建后端服务器组](https://support.huaweicloud.com/usermanual-elb/elb_ug_hdg_0003.html)进行创建。
   
   2. 您也可选择"新创建"后端服务器组，添加后端服务器并配置健康检查，
      1. 配置后端服务器组参数请参见[表3](https://support.huaweicloud.com/usermanual-elb/elb_ug_hdg_0003.html#elb_ug_hdg_0003__table17921104011492)。
      
      2. 单击"下一步：添加后端服务器"，添加后端服务器并配置健康检查。 添加后端服务器详见[后端服务器概述](https://support.huaweicloud.com/usermanual-elb/elb_ug_hd3_0001.html)，配置健康检查参数请参见[表4](https://support.huaweicloud.com/usermanual-elb/elb_ug_hdg_0003.html#elb_ug_hdg_0003__zh-cn_topic_0000001383606924_table11861154278)。
         
       
    
5. 单击"下一步：确认配置"。
6. 确认配置无误后，单击"提交"。
 
#### 后续操作
- [添加高级转发策略](https://support.huaweicloud.com/usermanual-elb/elb_ug_jt_060303.html#elb_ug_jt_060303__zh-cn_topic_0000001168961119_section1868815615577)
- [ELB接入访问日志](https://support.huaweicloud.com/usermanual-elb/elb_ug_rz_0000.html)
 
#### 相关文档
- [通过ELB将HTTP请求重定向至HTTPS](https://support.huaweicloud.com/bestpractice-elb/zh-cn_topic_0168606466.html)
- [ELB使用WebSocket协议实现聊天信息实时交互](https://support.huaweicloud.com/bestpractice-elb/elb_bp_1009.html)
- [创建监听器 - CreateListener](https://support.huaweicloud.com/api-elb/CreateListener.html)
- [更新监听器 - UpdateListener](https://support.huaweicloud.com/api-elb/UpdateListener.html)
- [查询监听器详情 - ShowListener](https://support.huaweicloud.com/api-elb/ShowListener.html)
- [删除监听器 - DeleteListener](https://support.huaweicloud.com/api-elb/DeleteListener.html)
- [级联删除监听器 - DeleteListenerForce](https://support.huaweicloud.com/api-elb/DeleteListenerForce.html)
 
#### 高频问题
#### HTTP监听转发在大并发场景有限制吗？
由于使用HTTP监听器进行转发，会涉及FULLNAT转换，在Websocket场景可能触发TCP五元组分配不足的问题。建议您使用HTTP监听器转发时，您单台后端服务器的并发连接数不超过20万。如果超过该推荐值，可能导致五元组端口号分配不足，影响您业务的正常运行。
