请求转发会将 URL 或主机重定向到特定的服务器池。
前提条件
确认第 7 层 HTTP 虚拟服务器可用。请参见添加第 7 层 HTTP 虚拟服务器。
负载均衡器规则支持 REGEX 匹配类型。支持 PCRE 样式 REGEX 模式,但高级用例存在一些限制。在匹配条件中使用 REGEX 时,支持已命名捕获组。请参见负载均衡器规则中的正则表达式。
过程
- 打开第 7 层 HTTP 虚拟服务器。
- 单击 以配置 HTTP 请求转发的负载均衡器规则。
- 从下拉列表中,选择一个匹配条件。匹配条件用于匹配通过负载均衡器传递的应用程序流量。可以在一个负载均衡器规则中指定多个匹配条件。每个匹配条件定义应用程序流量的一个成员资格条件。
支持的匹配条件 描述 HTTP 请求方法 与 HTTP 请求方法匹配。 http_request.method - 要匹配的值
HTTP 请求 URI 与不带查询参数的 HTTP 请求 URI 匹配。 http_request.uri - 要匹配的值
HTTP 请求 URI 参数 用于匹配 URI 参数(又称 HTTP 请求消息的查询字符串),例如,在 URI http://exaple.com?foo=1&bar=2 中,“foo=1&bar=2”是包含 URI 参数的查询字符串。在 URI 方案中,查询字符串的表示形式为以第一个问号(“?”)字符开始,并以数字符号(“#”)字符或 URI 末尾结束。
http_request.uri_arguments - 要匹配的值
HTTP 请求版本 用于匹配 HTTP 请求消息的 HTTP 协议版本 http_request.version - 要匹配的值
HTTP 请求标头 用于按 HTTP 标头字段匹配 HTTP 请求消息。HTTP 标头字段是 HTTP 请求和响应消息的标头部分的组件。它们定义 HTTP 事务的操作参数。 http_request.header_name - 要匹配的标头名称
http_request.header_value - 要匹配的值
HTTP 请求 Cookie 用于按 Cookie(即特定类型的 HTTP 标头)匹配 HTTP 请求消息。match_type 和 case_sensitive 定义如何比较 Cookie 值。 http_request.cookie_value - 要匹配的值
HTTP 请求正文 与 HTTP 请求正文内容匹配。 http_request.body_value - 要匹配的值
客户端 SSL 与客户端 SSL 配置文件 ID 匹配。 ssl_profile_id - 要匹配的值
TCP 标头端口 与 TCP 源或目标端口匹配。 tcp_header.source_port - 要匹配的源端口
tcp_header.destination_port - 要匹配的目标端口IP 标头源 与 HTTP 消息中的 IP 标头字段匹配。源类型必须是单个 IP 地址、一系列 IP 地址或者一个组。请参见添加组。 - 如果选择了源类型为 IP 地址的 IP 标头源,则 HTTP 消息的源 IP 地址应与在组中配置的 IP 地址相匹配。支持 IPv4 地址和 IPv6 地址。
- 如果选择了源类型为组的 IP 标头源,请从下拉列表中选择该组。
ip_header.source_address - 要匹配的源地址
ip_header.destination_address - 要匹配的目标地址变量 创建一个变量并向该变量分配值。 区分大小写 设置区分大小写的标记进行 HTTP 标头值比较。如果为 true,则在比较 HTTP 正文值时,需要区分大小写。 - 选择以下某项操作:
操作 描述 HTTP 拒绝 用于拒绝 HTTP 请求消息。指定的 reply_status 值将用作相应 HTTP 响应消息的状态代码。响应消息将发送回客户端(通常是浏览器),指示请求被拒绝的原因。 http_forward.reply_status - 用于拒绝的 HTTP 状态代码
http_forward.reply_message - HTTP 拒绝消息HTTP 重定向 用于将 HTTP 请求消息重定向到新 URL。重定向的 HTTP 状态代码为 3xx,例如,301、302、303、307 等。redirect_url 是将 HTTP 请求消息重定向到的新 URL。
http_forward.redirect_status - 用于重定向 http_forward.redirect_url(HTTP 重定向 URL)的 HTTP 状态代码选择池 将请求强制到特定服务器池。指定池成员的配置算法(预测器)用于在服务器池中选择服务器。匹配的 HTTP 请求消息将转发到指定的池。
如果启用了 HTTP 保持活动状态,并在负载均衡器中配置了转发规则,则服务器保持活动状态设置优先。因此,HTTP 请求将被发送到已连接且保持活动状态的服务器。
如果始终希望在满足负载均衡器规则条件时优先使用转发规则,请禁用保持活动状态设置。
请注意,持久性设置优先于保持活动状态设置。
执行处理的顺序为:持久性 > 保持活动状态 > 负载均衡器规则
http_forward.select_pool - 服务器池 UUID
变量持久性检测 选择通用持久性配置文件,然后输入变量名称。 您还可以启用哈希变量。如果变量值较长,则对变量进行哈希处理可确保将其正确存储到持久性表中。如果未启用哈希变量,则当变量值较长时,只会将变量值的固定前缀部分存储到持久性表中。因此,对于具有长变量值的两个不同请求,它们应发送到不同的后端服务器,但因为其变量值具有相同的前缀部分,可能会发送到同一个后端服务器。
连接断开 如果在条件中启用了“反转”,则在配置“连接断开”后,将丢弃与条件不匹配的所有请求。将允许与条件匹配的请求。
应答状态 显示应答的状态。 应答消息 服务器使用应答消息来响应,其中包含确认的地址和配置。 - 依次单击保存和应用。