调用SetRule接口修改目标虚拟服务器组的转发规则。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String SetRule

系统规定参数。取值:SetRule

RegionId String cn-hangzhou

负载均衡实例的地域ID。

您可以通过调用DescribeRegions接口查询地域ID。

RuleId String rule-3ejhkt****

转发规则ID。

VServerGroupId String rsp-cige6****

转发规则的目标服务器组ID。

RuleName String doctest

转发规则名称,长度限制为1~80个字符,支持字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)这些字符。

说明 同一个监听内不同规则的名称必须唯一。
ListenerSync String off

是否继承监听的健康检查、会话保持和调度算法配置。取值:

  • on:继承监听配置。
  • off:不继承监听配置。转发规则自定义健康检查及会话保持配置。
Scheduler String wrr

调度算法。取值:

  • wrr:权重值越高的后端服务器,被轮询到的次数(概率)也越高。
  • rr:按照访问顺序依次将外部请求依序分发到后端服务器。
说明ListenerSyncoff时必选且有效。
StickySession String off

是否开启会话保持,取值:

  • on:开启。
  • off:不开启。

ListenerSyncoff时必选且有效。

StickySessionType String insert

Cookie的处理方式。取值:

  • insert:植入Cookie。

    客户端第一次访问时,负载均衡会在返回请求中植入Cookie(即在HTTP或HTTPS响应报文中插入后端服务器ID),客户端下次携带此Cookie访问时,负载均衡服务会将请求定向转发给第一次访问时记录到的后端服务器上。

  • server:重写Cookie。

    负载均衡发现用户自定义Cookie,将会对原来的Cookie进行重写,下次客户端携带新的Cookie访问时,负载均衡服务会将请求定向转发给之前记录到的后端服务器。

说明 StickySessionon时必选且有效。
CookieTimeout Integer 123

Cookie超时时间。单位:秒。取值范围:1~86400

说明StickySessiononStickySessionTypeinsert时必选且有效。
Cookie String 23ffsa

服务器上配置的Cookie。

长度为1~200个字符,只能包含ASCII英文字母和数字字符,不能包含半角逗号(,)、半角分号(;)或空格,也不能以美元($)开头。

说明StickySessiononStickySessionTypeserver时必选且有效。
HealthCheck String off

是否开启健康检查。取值:

  • on:开启。
  • off:不开启。
说明 ListenerSyncoff时必选且有效,其他情况会忽略此参数。
HealthCheckDomain String $_ip

用于健康检查的域名,取值:

  • $_ip: 后端服务器的私网IP。当指定了$_ip或HealthCheckDomain未指定时,负载均衡会使用各后端服务器的私网IP当做健康检查使用的域名。
  • domain:域名长度为1~80字符,只能包含字母、数字、半角句号(.)和短划线(-)。
说明 HealthCheckon时有效。
HealthCheckURI String /example

用于健康检查的URI。

说明 HealthCheckon时必选且有效。
HealthyThreshold Integer 4

健康检查连续成功多少次后,将后端服务器的健康检查状态由失败判定为成功

取值范围:2~10

说明 HealthCheckon时必选且有效。
UnhealthyThreshold Integer 4

健康检查连续失败多少次后,将后端服务器的健康检查状态由成功判定为失败

取值范围:2~10

说明 HealthCheckon时必选且有效。
HealthCheckTimeout Integer 20

接收来自运行状况检查的响应需要等待的时间。如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。单位:秒。取值范围:1~300

说明 HealthCheckon时必选且有效。
HealthCheckInterval Integer 20

健康检查的时间间隔。单位:秒。取值范围:1~50

说明 HealthCheckon时必选且有效。
HealthCheckConnectPort Integer 80

健康检查使用的端口。取值范围:1~65535

说明 HealthCheckon时有效。
HealthCheckHttpCode String http_2xx

健康检查正常的HTTP状态码,多个状态码用半角逗号(,)分割。

取值:http_2xxhttp_3xx或http_4xxhttp_5xx

说明 HealthCheckon时必选且有效。

返回数据

名称 类型 示例值 描述
RequestId String 9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C

请求ID。

示例

请求示例

http(s)://[Endpoint]/?Action=SetRule
&RegionId=cn-hangzhou
&RuleId=rule-3ejhkt******
&VServerGroupId=rsp-cige6******
&RuleName=doctest
&ListenerSync=off
&Scheduler=wrr
&StickySession=off
&StickySessionType=insert
&CookieTimeout=123
&Cookie=23ffsa
&HealthCheck=off
&HealthCheckDomain=$_ip
&HealthCheckURI=/example
&HealthyThreshold=4
&UnhealthyThreshold=4
&HealthCheckTimeout=20
&HealthCheckInterval=20
&HealthCheckConnectPort=80
&HealthCheckHttpCode=http_2xx
&公共请求参数

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<SetRuleResponse>
    <RequestId>9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C</RequestId>
</SetRuleResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId" : "9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C"
}

错误码

HttpCode 错误码 错误信息 描述
400 InvalidParameter The specified VServerGroupId does not belong to the LoadBalancerId of the rule. 指定的服务器组和当前转发规则不属于同一个负载均衡实例。
400 InvalidParameter.RegionNotSupport The region does not support the parameter: %s. 当前区域不支持指定参数。

访问错误中心查看更多错误码。