更新转发策略
功能介绍
更新七层转发策略。
调用方法
请参见如何调用API。
URI
PUT /v3/{project_id}/elb/l7policies/{l7policy_id}
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
l7policy_id | 是 | String | 参数解释:转发策略ID。 |
project_id | 是 | String | 参数解释:项目ID。 |
请求参数
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
X-Auth-Token | 是 | String | 参数解释:IAM鉴权Token。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
l7policy | 是 | UpdateL7PolicyOption object | 参数解释:l7policy对象。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
admin_state_up | 否 | Boolean | 参数解释:转发策略的管理状态。 约束限制:只支持设置为true。 |
description | 否 | String | 参数解释:转发策略描述信息。 |
name | 否 | String | 参数解释:转发策略名称。 |
redirect_listener_id | 否 | String | 参数解释:转发到的listener的ID。 约束限制:
|
redirect_pool_id | 否 | String | 参数解释:转发到pool的ID。 约束限制:
|
redirect_url_config | 否 | UpdateRedirectUrlConfig object | 参数解释:转发到的url配置。 约束限制:
取值范围:格式:protocol://host:port/path?query protocol、host、port、path不允许同时不传或同时传${xxx} (${xxx}表示原值,如${host}表示被转发的请求URL的host部分)。 protocol和port传入的值不能与l7policy关联的监听器一致且host、path同时不传或同时传${xxx}。 |
fixed_response_config | 否 | UpdateFixtedResponseConfig object | 参数解释:固定返回页面的配置。 约束限制:
|
redirect_pools_extend_config | 否 | 参数解释:转发到的后端主机组的URL配置。 | |
rules | 否 | Array of CreateRuleOption objects | 参数解释:转发策略关联的转发规则对象。 约束限制:
|
priority | 否 | Integer | 参数解释:转发策略的优先级。数字越小表示优先级越高。 约束限制:
取值范围:
默认取值:
|
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
protocol | 否 | String | 参数解释:重定向的协议。 取值范围:
|
host | 否 | String | 参数解释:重定向的主机名。 取值范围:字符串只能包含英文字母、数字、“-”、“.”,必须以字母、数字开头。 默认取值:${host},表示继承原值(即与被转发请求保持一致)。 |
port | 否 | String | 参数解释:重定向到的端口。 默认取值:${port}表示继承原值(即与被转发请求保持一致)。 |
path | 否 | String | 参数解释:重定向的路径。 取值范围:只能包含英文字母、数字、_~';@^-%#&$.*+?,=!:|\/()[]{},且必须以"/"开头。 默认取值:${path},表示继承原值(即与被转发请求保持一致)。 |
query | 否 | String | 参数解释:重定向的查询字符串。举例如下: 将query设置为:${query}&name=my_name,则在转发符合条件的URL (如https://www.example.com:8080/elb?type=loadbalancer)时,将会重定向到 https://www.example.com:8080/elb?type=loadbalancer&name=my_name。在例子中${query}表示type=loadbalancer。 取值范围:只能包含英文字母、数字和特殊字符:!$&'()*+,-./:;=?@^_`。字母区分大小写。其中$1,$2会匹配请求url通配符星号(*) 默认取值:${query}表示继承原值(即与被转发请求保持一致) |
status_code | 否 | String | 参数解释:重定向后的返回码。 取值范围:
|
insert_headers_config | 否 | UpdateInsertHeadersConfig object | 参数解释:要添加的请求头参数的配置。 |
remove_headers_config | 否 | UpdateRemoveHeadersConfig object | 参数解释:要移除的请求头参数的配置。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
status_code | 否 | String | 参数解释:返回码。 取值范围:200-299,400-499,500-599。 |
content_type | 否 | String | 参数解释:返回body的格式。 取值范围:
|
message_body | 否 | String | 参数解释:返回消息内容。 |
insert_headers_config | 否 | UpdateInsertHeadersConfig object | 参数解释:要添加的请求头参数的配置。 |
remove_headers_config | 否 | UpdateRemoveHeadersConfig object | 参数解释:要移除的请求头参数的配置。 |
traffic_limit_config | 否 | UpdateTrafficLimitConfig object | 参数解释:转发策略限速的配置。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
configs | 是 | Array of UpdateInsertHeaderConfig objects | 参数解释:要添加请求头参数列表。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
key | 是 | String | 参数解释:请求头参数名。 约束限制:不能是以下字符: connection、upgrade、content-length、transfer-encoding、keep-alive、te、host、cookie、remoteip、authority、x-forwarded-host、x-forwarded-for、x-forwarded-for-port、x-forwarded-tls-certificate-id、x-forwarded-tls-protocol、x-forwarded-tls-cipher、x-forwarded-elb-ip、x-forwarded-port、x-forwarded-elb-id、x-forwarded-elb-vip、x-real-ip、x-forwarded-proto、x-nuwa-trace-ne-in、x-nuwa-trace-ne-out。 取值范围:1-40个字符,字母a-z(不区分大小写)、数字,短划线-和下划线_。 |
value_type | 是 | String | 参数解释:请求头参数类别。 取值范围:USER_DEFINED,REFERENCE_HEADER,SYSTEM_DEFINED。 |
value | 是 | String | 参数解释:请求头参数的值。 约束限制:当value_type为SYSTEM_DEFINED时,value只可从CLIENT-PORT,CLIENT-IP, ELB-PROTOCOL, ELB-ID, ELB-PORT, ELB-EIP, ELB-VIP中取值。 取值范围:1-128个字符,支持ascii码值32<=ch<=127范围内可打印字符,*和英文问号?。不能以空格开头或结尾。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
configs | 是 | Array of UpdateRemoveHeaderConfig objects | 参数解释:要移除的请求头参数列表。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
key | 是 | String | 参数解释:被移除的请求头的参数名。 约束限制:不能移除以下请求头参数: connection、upgrade、content-length、transfer-encoding、keep-alive、te、host、cookie、remoteip、authority、x-forwarded-host、x-forwarded-for、x-forwarded-for-port、x-forwarded-tls-certificate-id、x-forwarded-tls-protocol、x-forwarded-tls-cipher、x-forwarded-elb-ip、x-forwarded-port、x-forwarded-elb-id、x-forwarded-elb-vip、x-real-ip、x-forwarded-proto、x-nuwa-trace-ne-in、x-nuwa-trace-ne-out 取值范围:1-40个字符,字母a-z(不区分大小写)、数字,短划线-和下划线_。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
qps | 否 | Integer | 参数解释:转发策略qps限速。 取值范围:0-100000,单位:个/秒。0表示不限速。 |
per_source_ip_qps | 否 | Integer | 参数解释:对转发策略单源(单个客户端IP)进行限速。 约束限制:
取值范围:0-100000,单位:个/秒。0表示不限速。 |
burst | 否 | Integer | 参数解释:设置当单源qps超限时,允许的局部突增请求数量。超出该限制的请求将返回503。 取值范围:0-100000,单位:个/秒。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
rewrite_url_enable | 否 | Boolean | 参数解释:是否开启url重定向 |
rewrite_url_config | 否 | UpdateRewriteUrlConfig object | 参数解释:URL重定向配置。 约束限制:当action为REDIRECT_TO_POOL的时候生效。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
host | 否 | String | 参数解释:重定向的域名。 取值范围:英文字母、数字、“-”、“.”,必须以字母、数字开头。 |
path | 否 | String | 参数解释:重定向的请求路径。其中$1-$9会匹配请求url通配符星号(*),当正则匹配分组小于指定数字,则$指定数字结果为空。$后面跟字母,匹配结果均为空,直到下一个特殊字符出现,例如$abc#123,则匹配结果为#123;$后面跟特殊字符则直接输出特殊字符,例如$#匹配结果为$#。 取值范围:英文字母、数字、_~';@^-%#&$.+?,=!:|/(),且必须以"/"开头。 |
query | 否 | String | 参数解释:重定向的查询字符串。其中$1-$9会匹配请求url通配符星号(*),当正则匹配分组小于指定数字,则$指定数字结果为空。$后面跟字母,匹配结果均为空,直到下一个特殊字符出现,例如$abc#123,则匹配结果为#123;$后面跟特殊字符则直接输出特殊字符,例如$#匹配结果为$#。 取值范围:英文字母、数字和特殊字符:!$&'()+,-./:;=?@^_`。字母区分大小写。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
admin_state_up | 否 | Boolean | 参数解释:转发规则的管理状态。 约束限制:只支持设置为true。 |
compare_type | 是 | String | 参数解释:转发匹配方式。 约束限制:
取值范围:
|
key | 否 | String | 参数解释:匹配项的名称,比如转发规则匹配类型是请求头匹配,则key表示请求头参数的名称。 不支持该字段,请勿使用。 |
value | 是 | String | 参数解释:匹配项的值。比如转发规则匹配类型是域名匹配,则value表示域名的值。 约束限制:仅当conditions空时该字段生效。 取值范围:
|
project_id | 否 | String | 参数解释:转发规则所在的项目ID。 |
type | 是 | String | 参数解释:转发规则类别。 约束限制:
取值范围:
|
invert | 否 | Boolean | 参数解释:是否反向匹配。 取值范围:true、false,默认false。 不支持该字段,请勿使用。 |
conditions | 否 | Array of CreateRuleCondition objects | 参数解释:转发规则的匹配条件。 约束限制:
|
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
key | 否 | String | 参数解释:匹配项的名称。 约束限制:同一个rule内的conditions列表中所有key必须相同。 取值范围:
|
value | 是 | String | 参数解释:匹配项的值。 约束限制:
取值范围:
|
响应参数
状态码:200
参数 | 参数类型 | 描述 |
|---|---|---|
request_id | String | 参数解释:请求ID。 注:自动生成 。 |
l7policy | L7Policy object | 参数解释:l7policy对象。 |
参数 | 参数类型 | 描述 |
|---|---|---|
action | String | 参数解释:转发策略的转发动作。 约束限制:
取值范围:
|
admin_state_up | Boolean | 参数解释:转发策略的管理状态。 约束限制:只支持设置为true。 |
description | String | 参数解释:转发策略描述信息。 |
id | String | 参数解释:转发策略ID。 |
listener_id | String | 参数解释:转发策略所属的监听器ID。 |
name | String | 参数解释:转发策略名称 |
position | Integer | 参数解释:转发策略的优先级,不支持更新。 不支持该字段,请勿使用。 |
priority | Integer | 参数解释:转发策略的优先级。数字越小表示优先级越高。 约束限制:
取值范围:
默认取值:
|
project_id | String | 参数解释:转发策略所在的项目ID。 |
provisioning_status | String | 参数解释:转发策略的配置状态。 取值范围:
|
redirect_pool_id | String | 参数解释:转发到pool的ID。 约束限制:当action为REDIRECT_TO_POOL时生效。 |
redirect_listener_id | String | 参数解释:转发到的listener的ID。 约束限制:
|
redirect_url | String | 参数解释:转发到的url。 取值范围:必须满足格式: protocol://host:port/path?query。 不支持该字段,请勿使用。 |
rules | Array of RuleRef objects | 参数解释:转发策略关联的转发规则列表。 |
redirect_url_config | RedirectUrlConfig object | 参数解释:转发到的url配置。 约束限制:
取值范围:格式:protocol://host:port/path?query protocol、host、port、path不允许同时不传或同时传${xxx} (${xxx}表示原值,如${host}表示被转发的请求URL的host部分)。 protocol和port传入的值不能与l7policy关联的监听器一致且host、path同时不传或同时传${xxx}。 |
redirect_pools_extend_config | RedirectPoolsExtendConfig object | 参数解释:转发到的后端主机组的配置。 约束限制:当action为REDIRECT_TO_POOL时生效。 |
fixed_response_config | FixtedResponseConfig object | 参数解释:固定返回页面的配置。 约束限制:
|
created_at | String | 参数解释:创建时间。 取值范围:格式:yyyy-MM-dd'T'HH:mm:ss'Z',UTC时区。 注意:独享型实例的历史数据以及共享型实例下的资源,不返回该字段。 |
updated_at | String | 参数解释:更新时间。 取值范围:格式:yyyy-MM-dd'T'HH:mm:ss'Z',UTC时区。 注意:独享型实例的历史数据以及共享型实例下的资源,不返回该字段。 |
enterprise_project_id | String | 参数解释:企业项目ID。 |
参数 | 参数类型 | 描述 |
|---|---|---|
protocol | String | 参数解释:重定向的协议。 取值范围:
|
host | String | 参数解释:重定向的主机名。 取值范围:只能包含英文字母、数字、“-”、“.”。且必须以字母、数字开头。 默认取值:${host} 表示继承原值(即与被转发请求保持一致)。 |
port | String | 参数解释:重定向到的端口。 默认取值:默认值${port}表示继承原值(即与被转发请求保持一致)。 |
path | String | 参数解释:重定向的路径。 取值范围:支持英文字母、数字、_~';@^-%#&$.*+?,=!:|\/()[]{},且必须以"/"开头。 默认取值:${path} 表示继承原值(即与被转发请求保持一致)。 |
query | String | 参数解释:重定向的查询字符串。举例如下: 将query设置为:${query}&name=my_name,则在转发符合条件的URL (如https://www.example.com:8080/elb?type=loadbalancer)时,将会重定向到 https://www.example.com:8080/elb?type=loadbalancer&name=my_name。在例子中${query}表示type=loadbalancer。 取值范围:只能包含英文字母、数字和特殊字符:!$&'()*+,-./:;=?@^_`。字母区分大小写。其中$1,$2会匹配请求url通配符星号(*) 默认取值:${query}表示继承原值(即与被转发请求保持一致) |
status_code | String | 参数解释:重定向后的返回码。 取值范围:
|
参数 | 参数类型 | 描述 |
|---|---|---|
rewrite_url_enable | Boolean | 参数解释:是否开启url重定向。 |
rewrite_url_config | RewriteUrlConfig object | 参数解释:URL重定向配置。 约束限制:当action为REDIRECT_TO_POOL的时候生效。 |
参数 | 参数类型 | 描述 |
|---|---|---|
host | String | 参数解释:重定向的域名。 取值范围:英文字母、数字、“-”、“.”,必须以字母、数字开头。 默认取值:${host},表示继承原值(即与被重写请求host保持一致)。 |
path | String | 参数解释:重定向的请求路径。其中$1-$9会匹配请求url通配符星号(*),当正则匹配分组小于指定数字,则$指定数字结果为空。$后面跟字母,匹配结果均为空,直到下一个特殊字符出现,例如$abc#123,则匹配结果为#123;$后面跟特殊字符则直接输出特殊字符,例如$#匹配结果为$#。 取值范围:英文字母、数字、_~';@^-%#&$.+?,=!:|/(),且必须以"/"开头。 默认取值:${path},表示继承原值(即与被重写请求保持一致)。 |
query | String | 参数解释:重定向的查询字符串。其中$1-$9会匹配请求url通配符星号(*),当正则匹配分组小于指定数字,则$指定数字结果为空。$后面跟字母,匹配结果均为空,直到下一个特殊字符出现,例如$abc#123,则匹配结果为#123;$后面跟特殊字符则直接输出特殊字符,例如$#匹配结果为$#。 取值范围:英文字母、数字和特殊字符:!$&'()+,-./:;=?@^_`。字母区分大小写。 默认取值:${query},表示继承原值(即与被重写请求保持一致)。 |
请求示例
更新转发策略
PUT https://{ELB_Endpoint}/v3/99a3fff0d03c428eac3678da6a7d0f24/elb/l7policies/cf4360fd-8631-41ff-a6f5-b72c35da74be
{
"l7policy" : {
"name" : "My policy.",
"description" : "Update policy.",
"redirect_listener_id" : "48a97732-449e-4aab-b561-828d29e45050"
}
} 响应示例
状态码:200
操作正常返回。
{
"request_id" : "e5c07525-1470-47b6-9b0c-567527a036aa",
"l7policy" : {
"redirect_pool_id" : "768e9e8c-e7cb-4fef-b24b-af9399dbb240",
"description" : "",
"admin_state_up" : true,
"rules" : [ {
"id" : "c5c2d625-676b-431e-a4c7-c59cc2664881"
} ],
"project_id" : "7a9941d34fc1497d8d0797429ecfd354",
"listener_id" : "cdb03a19-16b7-4e6b-bfec-047aeec74f56",
"redirect_url" : null,
"redirect_url_config" : null,
"redirect_pools_config" : {
"pool_id" : "722e9e8c-e7cb-4fef-b24b-af9399dbb240",
"weight" : 12
},
"redirect_pools_sticky_session_config" : {
"timeout" : 23,
"enable" : false
},
"fixed_response_config" : null,
"redirect_listener_id" : null,
"action" : "REDIRECT_TO_POOL",
"position" : 100,
"priority" : null,
"provisioning_status" : "ACTIVE",
"id" : "01832d99-bbd8-4340-9d0c-6ff8f7a37307",
"name" : "l7policy-67"
}
} 状态码
状态码 | 描述 |
|---|---|
200 | 操作正常返回。 |
错误码
请参见错误码。

