在指定监听下创建转发规则。
接口说明
调用该接口创建转发规则时,请注意以下事项:
-
配置 Redirect 转发动作时,除了 HttpCode 参数外,其余参数不能全部配置为默认值。
-
同一个转发规则配置多个转发动作时,Rewrite 转发动作必须配置 ForwardGroup 的动作类型。
-
CreateRule 接口属于异步接口,即系统返回一个实例 ID,但该转发规则尚未创建成功,系统后台的创建任务仍在进行。您可以调用 ListRules 查询转发规则的创建状态:
当转发规则处于 Provisioning 状态时,表示转发规则正在创建中。
当转发规则处于 Available 状态时,表示转发规则创建成功。
-
一条转发规则最多支持添加的条件数(RuleConditions)和动作数(RuleActions)如下:
条件数:基础版 5 条,标准版 10 条,WAF 增强版 10 条。
动作数:基础版 3 条,标准版 5 条,WAF 增强版 5 条。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息
操作 |
访问级别 |
资源类型 |
条件关键字 |
关联操作 |
alb:CreateRule |
create |
*LoadBalancer
*ServerGroup
|
无 | 无 |
请求参数
名称 |
类型 |
必填 |
描述 |
示例值 |
ListenerId |
string |
是 |
应用型负载均衡实例监听 ID。 |
lsn-l16uo9y****** |
ClientToken |
string |
否 |
客户端 Token,用于保证请求的幂等性。 由客户端生成该参数值,要保证在不同请求间唯一。ClientToken 只支持 ASCII 字符。 说明
若您未指定,则系统自动使用 API 请求的 RequestId 作为 ClientToken 标识。每次 API 请求的 RequestId 不一样。 |
5A2CFF0E-5718-45B5-9D4D-70B****** |
DryRun |
boolean |
否 |
是否只预检此次请求,取值:
|
false |
Priority |
integer |
是 |
规则优先级,取值范围:1~10000。值越小表示优先级越高。 说明
同一个监听内规则优先级必须唯一。 |
10 |
Direction |
string |
否 |
转发规则的方向。取值:
说明
基础版的 ALB 实例不支持 Response 类型。 |
Request |
RuleActions |
array<object> |
是 |
转发规则动作列表。 |
|
array<object> |
是 |
规则动作列表。 |
||
FixedResponseConfig |
object |
否 |
固定响应内容配置。 |
|
Content |
string |
否 |
返回的固定内容。最大支持存储 1 KB,只支持 ASCII 字符。 |
dssacav |
ContentType |
string |
否 |
返回固定内容的格式。 取值:text/plain、text/css、text/html、application/javascript或application/json。 |
text/plain |
HttpCode |
string |
否 |
返回的 HTTP 响应码,仅支持 2xx、4xx、5xx 数字型字符串,x 为任意数字。 |
200 |
ForwardGroupConfig |
object |
否 |
转发到的目的服务器组列表。一条转发规则中最多支持添加 5 个目的服务器组。 |
|
ServerGroupTuples |
array |
否 |
转发到的目的服务器组列表。一条转发规则中最多支持添加 5 个目的服务器组。 |
|
object |
否 |
转发到的目的服务器组结构。 |
||
ServerGroupId |
string |
否 |
转发到的目的服务器组。 |
sgp-k86c1ov501id6p**** |
Weight |
integer |
否 |
权重。取值越大,权重越大,表示转发的访问请求更多。取值范围:0~100。
|
100 |
ServerGroupStickySession |
object |
否 |
服务器组之间会话保持。 |
|
Enabled |
boolean |
否 |
是否开启会话保持。取值:
|
false |
Timeout |
integer |
否 |
超时时间。单位:秒。取值范围:1~86400。默认值:1000。 |
100 |
InsertHeaderConfig |
object |
否 |
写入头字段配置。 |
|
Key |
string |
否 |
插入的头字段名称,长度为 1~40 个字符,支持大小写字母 a~z、数字、下划线(_)和短划线(-)。InsertHeaderConfig 中的头字段名称不能重复。 说明
不允许将头名称设置为以下字段(不区分大小写): |
key |
Value |
string |
否 |
插入的头字段内容。
|
UserDefined |
ValueType |
string |
否 |
头字段内容类型。取值:
|
UserDefined |
Order |
integer |
是 |
转发规则动作执行的顺序,取值范围:1~50000,按值从小到大执行动作。值不能为空,不能重复。 |
1 |
RedirectConfig |
object |
否 |
重定向配置。 说明
RedirectConfig 的参数,除了 httpCode 外,不能都使用默认值。 |
|
Host |
string |
否 |
要跳转的主机地址。取值:
|
${host} |
HttpCode |
string |
否 |
跳转方式。取值:301、302、303、307 或 308。 |
301 |
Path |
string |
否 |
要跳转的路径。取值:
|
/test |
Port |
string |
否 |
要跳转的端口。
|
10 |
Protocol |
string |
否 |
要跳转的协议。取值:
说明
|
HTTP |
Query |
string |
否 |
要跳转的查询字符串。
|
${query} |
RewriteConfig |
object |
否 |
重写配置。 说明
同一个转发规则配置多个动作时,RewriteConfig 动作使用时必须配置 ForwardGroup 的动作类型。 |
|
Host |
string |
否 |
内部跳转的目的主机地址。取值:
|
www.example.com |
Path |
string |
否 |
要跳转的路径。取值:
|
/tsdf |
Query |
string |
否 |
内部跳转的查询字符串。
|
${query} |
Type |
string |
是 |
动作类型。取值:
说明
一个转发规则必须包含有一条 ForwardGroup(转发至)、Redirect(重定向)或 FixedResponse(返回固定响应)转发动作,与其他类型转发动作并存时,必须放在最后执行。 |
ForwardGroup |
TrafficLimitConfig |
object |
否 |
流量限速。 |
|
QPS |
integer |
否 |
每秒请求次数。取值范围:1~1000000。 |
100 |
PerIpQps |
integer |
否 |
单 IP 每秒请求次数。 取值范围:1 ~ 1000000。 说明
如果同时配置 QPS 参数,PerIpQps 参数的取值必须小于 QPS 参数的取值。 |
80 |
TrafficMirrorConfig |
object |
否 |
流量镜像。 |
|
TargetType |
string |
否 |
镜像的目标类型。取值:
|
ForwardGroupMirror |
MirrorGroupConfig |
object |
否 |
流量镜像至服务器组。 |
|
ServerGroupTuples |
array |
否 |
流量镜像至服务器组。 |
|
object |
否 |
流量镜像至服务器组。 |
||
ServerGroupId |
string |
否 |
服务器组 ID。 |
sgp-00mkgijak0w4qgz9**** |
RemoveHeaderConfig |
object |
否 |
去除 HTTP 头部配置。 |
|
Key |
string |
否 |
去除的头字段名称,长度为 1~40 个字符,支持大小写字母 a~z、数字、下划线(_)和短划线(-)。头字段名称不能重复用于 RemoveHeader 中。
|
test |
CorsConfig |
object |
否 |
跨域。 |
|
AllowOrigin |
array |
否 |
允许的访问来源列表。支持只配置一个元素
|
|
string |
否 |
允许访问的来源。 |
http://example.com |
|
AllowMethods |
array |
否 |
选择跨域访问时允许的 HTTP 方法。 |
|
string |
否 |
选择跨域访问时允许的 HTTP 方法。取值:
|
GET |
|
AllowHeaders |
array |
否 |
允许跨域的 Header 列表。 |
|
string |
否 |
允许跨域的 Header。支持配置为 |
test_123 |
|
ExposeHeaders |
array |
否 |
允许暴露的 Header 列表。 |
|
string |
否 |
允许暴露的 Header。支持配置为 |
test_123 |
|
AllowCredentials |
string |
否 |
是否允许携带凭证信息。取值:
|
on |
MaxAge |
integer |
否 |
预检请求在浏览器的最大缓存时间,单位:秒。 取值范围:-1~172800。 |
1000 |
RuleConditions |
array<object> |
是 |
转发规则条件列表。 |
|
array<object> |
是 |
转发规则条件。 |
||
CookieConfig |
object |
否 |
Cookie 配置。 |
|
Values |
array |
否 |
Cookie 值列表。 |
|
object |
否 |
Cookie 值结构体。 |
||
Key |
string |
否 |
Cookie 键。
|
test |
Value |
string |
否 |
Cookie 值。
|
test |
HeaderConfig |
object |
否 |
头字段配置。 |
|
Key |
string |
否 |
头字段键。
|
Port |
Values |
array |
否 |
头字段值列表。 |
|
string |
否 |
HTTP 标头值列表。同一个转发规则条件内头字段值不能重复。
|
5006 |
|
HostConfig |
object |
否 |
主机配置。 |
|
Values |
array |
否 |
主机名列表。 |
|
string |
否 |
主机名。一个转发规则条件中只能有一个主机名,并且取值不能重复。
|
www.example.edu |
|
MethodConfig |
object |
否 |
请求方法配置。 |
|
Values |
array |
否 |
请求方法列表。 |
|
string |
否 |
请求方法。 取值:HEAD、GET、POST、OPTIONS、PUT、PATCH、DELETE。 |
PUT |
|
PathConfig |
object |
否 |
转发路径配置。 |
|
Values |
array |
否 |
转发路径列表。 |
|
string |
否 |
转发路径。取值范围:
|
/test |
|
QueryStringConfig |
object |
否 |
查询字符串配置。 |
|
Values |
array |
否 |
查询字符串列表。 |
|
object |
否 |
查询字符串。 |
||
Key |
string |
否 |
查询字符串键。
|
test |
Value |
string |
否 |
查询字符串值。
|
test |
ResponseStatusCodeConfig |
object |
否 |
响应状态码配置。 |
|
Values |
array |
否 |
响应状态码列表。 |
|
string |
否 |
响应状态码。 |
test |
|
ResponseHeaderConfig |
object |
否 |
标头条件配置。 |
|
Key |
string |
否 |
头字段键。
|
test |
Values |
array |
否 |
头字段值列表。 |
|
string |
否 |
头字段值。
|
50006 |
|
Type |
string |
是 |
转发规则类型。取值:
|
Host |
SourceIpConfig |
object |
否 |
基于源 IP 业务流量匹配配置。当 Type 为 SourceIP 时必选且有效。 |
|
Values |
array |
否 |
基于源 IP 业务流量匹配列表。 |
|
string |
否 |
添加一个或多个 IP 地址或者 IP 地址段。 |
192.168.0.0/32 |
|
RuleName |
string |
是 |
转发规则名称。
|
rule-doc |
Tag |
array<object> |
否 |
标签列表。 |
|
object |
否 |
标签结构。 |
||
Key |
string |
否 |
标签键。最多支持 128 个字符,不能以 aliyun 或 acs:开头,不能包含 http://或 https://。 |
env |
Value |
string |
否 |
最多支持 128 个字符,不能以 aliyun 或 acs:开头,不能包含 http://或 https://。 |
product |
返回参数
名称 |
类型 |
描述 |
示例值 |
object |
返回数据结构体。 |
||
JobId |
string |
异步任务 ID。 |
72dcd26b-f12d-4c27-b3af-18f6aed5**** |
RequestId |
string |
请求 ID。 |
365F4154-92F6-4AE4-92F8-7FF34B540750 |
RuleId |
string |
转发规则 ID。 |
rule-a3x3pg1yohq3lq**** |
示例
正常返回示例
JSON
格式
{
"JobId": "72dcd26b-f12d-4c27-b3af-18f6aed5****",
"RequestId": "365F4154-92F6-4AE4-92F8-7FF34B540750",
"RuleId": "rule-a3x3pg1yohq3lq****"
}
错误码
HTTP status code |
错误码 |
错误信息 |
描述 |
---|---|---|---|
400 | IncorrectStatus.Listener | The status of %s [%s] is incorrect. | 监听的当前状态不支持本次操作。 |
400 | OperationDenied.SameGroupForForwardAndMirrorAction | The operation is not allowed because of %s. | 操作被拒绝,原因是%s。 |
400 | OperationDenied.IpGroupCanNotUsedForMirrorAction | The operation is not allowed because of %s. | 操作被拒绝,原因是%s。 |
400 | OperationDenied.GRPCServerGroup | The operation is not allowed because of %s. | 操作被拒绝,原因是存在绑定本GRPC服务器组的监听没有启用HTTP2.0。 |
400 | Conflict.Priority | There is already %s having the same configuration with %s. | 优先级冲突,已经存在相同配置 |
400 | ResourceQuotaExceeded.LoadBalancerRulesNum | The quota of %s is exceeded for resource %s, usage %s/%s. | 转发规则数已超额度限制。 |
400 | ResourceQuotaExceeded.ServerGroupAttachedNum | The quota of %s is exceeded for resource %s, usage %s/%s. | 服务器组可被关联数已超额度限制。 |
400 | ResourceQuotaExceeded.LoadBalancerServersNum | The quota of %s is exceeded for resource %s, usage %s/%s. | 后端服务器数已超额度限制。 |
400 | ResourceQuotaExceeded.ServerAddedNum | The quota of %s is exceeded for resource %s, usage %s/%s. | 服务器添加到组已超额度限制。 |
400 | QuotaExceeded.RuleWildcardsNum | The quota of %s is exceeded, usage %s/%s. | 配额%s已超额度限制,目前已使用%s,配额为%s。 |
400 | QuotaExceeded.RuleMatchEvaluationsNum | The quota of %s is exceeded, usage %s/%s. | 转发规则条件数已超额度限制。 |
400 | QuotaExceeded.RuleActionsNum | The quota of %s is exceeded, usage %s/%s. | 配额%s已超额度限制,目前已使用%s,配额为%s。 |
400 | Mismatch.Protocol | The %s is mismatched for %s and %s. | %s在%s和%s中不匹配。 |
400 | Mismatch.VpcId | The %s is mismatched for %s and %s. | %s在%s和%s中不匹配。 |
400 | OperationDenied.RewriteMissingForwardGroup | The operation is not allowed because of RewriteMissingForwardGroup. | 操作被拒绝,原因是RewriteMissingForwardGroup。 |
400 | ResourceInConfiguring.Listener | The specified listener is being configured, please try again later. | 资源正在变配中,请稍后重试。 |
400 | OperationDenied.MirrorActionSupportHttpGroupOnly | The operation is not allowed because of MirrorActionSupportHttpGroupOnly. | 操作被拒绝,原因是流量镜像动作只支持HTTP类型的服务器组。 |
400 | OperationDenied.ProtocolMustSameForForwardGroupAction | The operation is not allowed because of ProtocolMustSameForForwardGroupAction. | 操作被禁止,原因:必须是相同的协议 |
404 | ResourceNotFound.Listener | The specified resource %s is not found. | 监听不存在。 |
404 | ResourceNotFound.ServerGroup | The specified resource %s is not found. | 后端服务器组不存在。 |
访问错误中心查看更多错误码。
变更历史
更多信息,参考变更详情。