配置HTTP监听器

最近更新时间: 2024-10-17 17:10:00

HTTP 监听器简介

您可以在负载均衡实例上添加一个 HTTP 监听转发来自客户端的 HTTP 协议请求。HTTP 协议适用于需要对请求的内容进行识别的应用,如 Web 应用、App 服务等。

配置 HTTP 监听器

步骤1:打开监听器管理页面

  1. 登录负载均衡控制,在左侧导航栏,单击【LB实例列表】。

  2. 在 CLB 实例列表页单击目标实例 ID。

  3. 在实例详情页单击【监听器管理】标签页。

步骤2:配置监听器

在 HTTP/HTTPS 监听器模块下,单击新建,在弹出框中配置 HTTP 监听器。

1. 创建监听器

参数 说明
名称 监听器名称。本示例中可自定义为“Listener1”。
监听器协议 监听器的协议和监听端口。
- 监听协议包含 HTTP 和 HTTPS,本例选择 HTTP。
- 监听端口是用来接收请求并向后端服务器转发请求的端口,端口范围为1 - 65535。
- 同一个负载均衡实例内,监听端口不可重复。
默认域名
可选择开启或关闭。
- 开启:当客户端请求没有匹配本监听器的任何域名时,CLB会将请求转发给默认域名(Default Server),每个监听器只能配置且必须配置一个默认域名。
- 如果您的七层监听器已配置默认域名,未匹配其他规则的客户端请求会被转发到默认域名。
- 如果您的七层监听器未配置默认域名,未匹配其他规则的客户端请求则会被转发到 CLB 加载的第一个域名,由于加载顺序与控制台配置顺序可能不一致,因此不一定是控制台配置的第一个。
- 关闭:当客户端请求没有匹配本监听器的任何域名时,请求将无法被转发。

2. 创建转发规则

转发规则基本配置 说明 示例
域名 请求域名。
- 支持精准域名,如www.example,com。支持通配域名,如*.example.comwww.example.* ,单个域名中*只能出现一次。
- 非正则的域名支持的字符集如下:a-z``0-9``.``-
- 支持正则表达式,正则表达式中不支持的字符集如下:"``{``}``;``\ ``` ~`````空格
- 域名长度限制为1 - 120。
www.example.com
默认域名 - 当监听器中所有域名均没有匹配成功时,系统会将请求指向默认访问域名,让默认访问可控。
- 一个监听器下仅能配置一个默认域名。
开启
URL 路径 请求路径。
- 默认为/,必须以 /开头,长度限制为1 - 120。
- 非正则的 URL 路径,以/ 开头,支持的字符集如下:a-z``A-Z``0-9``.``-``/``=``?
- 支持正则表达式
- = 开头表示精确匹配。
- ^~ 开头表示 uri 以某个常规字符串开头,不是正则匹配。
- ~开头表示区分大小写的正则匹配。
- ~* 开头表示不区分大小写的正则匹配。
- / 通用匹配, 如果没有其它匹配,任何请求都会匹配到
- 正则的 URL,不支持的字符集如下:"``{``}``;``\ ``` ~`````空格
/index
均衡方式 HTTP 监听器中,负载均衡支持按权重轮询(WRR)、加权最小连接数(WLC)和 IP Hash 三种调度算法。
- 按权重轮询算法:根据后端服务器的权重,按依次将请求分发给不同的服务器。按权重轮询算法根据新建连接数来调度,权值高的服务器被轮询到的次数(概率)越高,相同权值的服务器处理相同数目的连接数。
- 加权最少连接数:根据服务器当前活跃的连接数来估计服务器的负载情况,加权最小连接数根据服务器负载和权重来综合调度,当权重值相同时,当前连接数越小的后端服务器被轮询到的次数(概率)也越高。
- IP Hash:根据请求的源 IP 地址,使用散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器为可用且未超载状态,则请求发送到该服务器,反之则返回空。
按权重轮询
获取客户端 IP 默认启用。 已开启
Gzip 压缩 默认启用。 已开启

选择需要创建转发规则的 HTTP 监听器,单击右侧 + 进行规则创建,基本配置如下图所示。

3. 健康检查

健康检查配置 说明 示例
健康检查 开启或关闭健康检查。HTTP 监听器中,负载均衡实例向指定的服务器端口发 HTTP 请求进行健康检查。 开启
检查域名 请求域名
- 默认为转发域名。
- 支持的字符集包括:a-z``0-9``.``-,长度限制为1 - 120。
- 暂不支持正则表达式。
- 当用户填写域名为通配域名时,需要指定某一固定域名(非正则)为健康检查域名。
使用默认值(即为www.example.com
检查目录 请求路径
- 默认为/,必须以 /开头。
- 支持的字符集包括:a-z``0-9``.``-,长度限制为1 - 120。
- 暂不支持正则表达式。
- 建议指定某个固定 URL 路径(静态页面)进行健康检查。
使用默认值(即为/
检测间隔 - 负载均衡进行健康检查的时间间隔。
- 可配置范围:5 - 300秒,默认值5秒。
5s
不健康阈值 - 如果连续 n 次(n 为填写的数值)收到的健康检查结果失败,则识别为不健康,控制台显示为异常
- 可配置范围:2 - 10次,默认值3次。
3次
健康阈值 - 如果连续 n 次(n 为填写的数值)收到的健康检查结果为成功,则识别为健康,控制台显示为健康
- 可配置范围:2 - 10次,默认值3次。
3次
HTTP 请求方式 健康检查的 HTTP 请求方式,可选:GET 或 HEAD,默认为 GET。
- 若使用 HEAD 方法,服务器仅返回 HTTP 头部信息,可降低后端开销,提升请求效率,对应的后端服务需支持 HEAD。
- 若使用 GET 方法,则后端服务支持 GET 即可。
GET
HTTP 状态码检测 当状态码为所选状态码时,认为后端服务器存活,即健康检查正常,可选:http_1xx,http_2xx, http_3xx,http_4xx,http_5xx。 多选:http_1xx,http_2xx,http_3xx,http_4xx

健康检查具体配置如下图所示。

4. 会话保持

会话保持配置 说明 示例
会话保持状态 开启或关闭会话保持。
- 开启会话保持后,负载均衡监听器会把来自同一客户端的访问请求分发到同一台后端服务器上。
- HTTP 协议是基于 Cookie 的会话保持,由负载均衡器向客户端植入 Cookie。
- 加权轮询调度支持会话保持,加权最小连接数和 IP Hash 调度不支持开启会话保持功能。
开启
会话保持时间 会话保持时间。
- 当超过保持时间,连接内无新的请求,将会自动断开会话保持。
- 可配置范围30 - 3600秒。
30s

会话保持具体配置如下图所示。

步骤3:绑定后端云服务器

  1. 在“监听器管理”页面,单击已创建完毕的监听器,如上述 HTTP:80 监听器,单击左侧的三角图标展开域名和 URL 路径,选中具体的 URL 路径,即可在监听器右侧查看该路径上已绑定的后端服务。

  1. 单击绑定,在弹出框中选择需绑定的后端服务器,并配置服务端口和权重。

    • 添加端口功能:在右侧“已选择”的云服务器框内,单击添加端口,即可给同一个云服务器添加多个端口。

    • 默认端口功能:先填写默认端口,再选择云服务器,每台云服务器的端口均为默认端口。

步骤4:修改/删除监听器

如果您需要修改或删除已创建的监听器,请在“监听器管理”页面,单击已创建完毕的监听器/域名/URL 路径,选择修改或删除完成操作。