动态转发组件实现了根据请求内容动态确定转发目标的功能。支持从HTTP请求的查询字符串或请求头中提取目标主机和端口,将请求直接转发至该地址,无需预先注册后端。
动态转发组件必须搭配IP地址段类型服务器组使用,由服务器组限定允许转发的目标IP和端口范围。
功能类型
路由调度
字段说明
ComponentConfig
参数 | 类型 | 是否必填 | 默认值 | 描述 |
RequestRules | 否 | - | 目标地址提取规则列表,最多支持5条。按列表顺序依次匹配,首条命中即生效。 |
RequestRuleItem
参数 | 类型 | 是否必填 | 默认值 | 描述 |
ExtractFrom | 是 | - | 目标主机和端口的提取来源。 | |
ExtractType | 是 | - | 目标主机和端口的提取模式。 | |
TargetKey | String | 条件必填 | - |
|
TargetHostKey | String | 条件必填 | - |
|
TargetPortKey | String | 条件必填 | - |
|
DefaultPort | Integer | 否 | - | 该规则未提取到端口时使用的兜底端口,取值范围为 若不填写,则规则未提取到端口时将视为未命中,并继续匹配下一条规则。 |
ExtractFromEnum
值 | 描述 |
QueryString | 从查询字符串中提取目标主机和端口。 |
Header | 从请求头中提取目标主机和端口。 |
ExtractTypeEnum
值 | 描述 |
Combined | 目标主机和端口位于同一个Key中,值格式为 |
Separated | 目标主机和端口分别位于两个不同的Key中。 |
错误码信息
HTTP状态码 | 出错信息 | 原因说明 |
403 | endpoint not provided | 请求中未携带可提取的目标地址,动态转发组件无法确定转发目标。 |
403 | endpoint not allowed | 提取到的目标IP地址或端口未落在IP地址段类型服务器组的放行范围内。 |