全部產品
Search
文件中心

Server Load Balancer:CreateRule

更新時間:Jul 15, 2026

在指定監聽下建立轉發規則。

介面說明

調試

您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。

調試

授權資訊

下表是API對應的授權資訊,可以在RAM權限原則語句的Action元素中使用,用來給RAM使用者或RAM角色授予調用此API的許可權。具體說明如下:

  • 操作:是指具體的許可權點。

  • 存取層級:是指每個操作的存取層級,取值為寫入(Write)、讀取(Read)或列出(List)。

  • 資源類型:是指操作中支援授權的資源類型。具體說明如下:

    • 對於必選的資源類型,用前面加 * 表示。

    • 對於不支援資源級授權的操作,用全部資源表示。

  • 條件關鍵字:是指雲產品自身定義的條件關鍵字。

  • 關聯操作:是指成功執行操作所需要的其他許可權。操作者必須同時具備關聯操作的許可權,操作才能成功。

操作

存取層級

資源類型

條件關鍵字

關聯操作

alb:CreateRule

create

*LoadBalancer

acs:alb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}

*ServerGroup

acs:alb:{#regionId}:{#accountId}:servergroup/{#servergroupId}

請求參數

名稱

類型

必填

描述

樣本值

ListenerId

string

應用型負載平衡執行個體監聽 ID。

lsn-l16uo9y******

ClientToken

string

用戶端 Token,用於保證請求的冪等性。

由用戶端產生該參數值,要保證在不同請求間唯一。ClientToken 只支援 ASCII 字元。

說明

若您未指定,則系統自動使用 API 請求的 RequestId 作為 ClientToken 識別碼。每次 API 請求的 RequestId 不一樣。

5A2CFF0E-5718-45B5-9D4D-70B******

DryRun

boolean

是否僅預檢此次請求,取值:

  • true:傳送檢查請求,不會建立轉發規則。檢查項目包括是否填寫了必要參數、請求格式、業務限制。如果檢查不通過,則返回對應錯誤。如果檢查通過,則返回錯誤碼 DryRunOperation

  • false(預設值):傳送正常請求,通過檢查後返回 HTTP 2xx 狀態碼並直接進行操作。

false

Priority

integer

規則優先順序,取值範圍:1~10000。值越小表示優先順序越高。

說明

同一個監聽內規則優先順序必須唯一。

10

Direction

string

轉發規則的方向。取值:

  • Request(預設值):請求類型,對從用戶端傳送到 ALB 的封包進行條件比對並進行相應的處理。

  • Response:回應類型,對從後端伺服器群組返回到 ALB 的封包進行條件比對並進行相應的處理。

說明

基礎版的 ALB 執行個體不支援 Response 類型。

Request

RuleActions

array<object>

轉發規則動作清單。

array<object>

規則動作清單。

FixedResponseConfig

object

固定回應內容配置。

Content

string

返回的固定內容。最大支援儲存 1 KB,只支援 ASCII 字元。

dssacav

ContentType

string

返回固定內容的格式。

取值:text/plaintext/csstext/htmlapplication/javascriptapplication/json

text/plain

HttpCode

string

返回的 HTTP 回應碼,僅支援 2xx4xx5xx 數字型字串,x 為任意數字。

200

ForwardGroupConfig

object

轉發到的目的伺服器群組清單。一條轉發規則中最多支援新增 5 個目的伺服器群組。

ServerGroupTuples

array<object>

轉發到的目的伺服器群組清單。一條轉發規則中最多支援新增 5 個目的伺服器群組。

object

轉發到的目的伺服器群組結構。

ServerGroupId

string

轉寄到的目的伺服器組。

sgp-k86c1ov501id6p****

Weight

integer

權重。取值越大,權重越大,表示轉寄的訪問請求更多。取值範圍:0~100

  • 目的伺服器組數為 1 時,未指定權重時預設值為 100

  • 目的伺服器組數大於 1 時,需要使用者指定權重值。

100

ServerGroupStickySession

object

伺服器群組之間工作階段保持。

Enabled

boolean

是否開啟會話保持。取值:

  • true:開啟。

  • false(預設值):不開啟。

false

Timeout

integer

逾時時間。單位:秒。取值範圍:1~86400。預設值:1000

100

InsertHeaderConfig

object

寫入標頭欄位配置。

Key

string

插入的標頭欄位名稱,長度為 1~40 個字元,支援大小寫字母 a~z、數字、底線(_)和連字號(-)。InsertHeaderConfig 中的標頭欄位名稱不能重複。

說明

不允許將標頭名稱設定為以下欄位(不區分大小寫):slb-idslb-ipx-forwarded-forx-forwarded-protox-forwarded-eipx-forwarded-portx-forwarded-client-srcportconnectionupgradecontent-lengthtransfer-encodingkeep-alivetehostcookieremoteipauthorityx-forwarded-host

key

Value

string

插入的標頭欄位內容。

  • ValueType 取值為 SystemDefined 時取值如下:
    • ClientSrcPort:用戶端連接埠。

    • ClientSrcIp:用戶端 IP 位址。

    • Protocol:用戶端請求的通訊協定(HTTP 或 HTTPS)。

    • SLBId:應用型負載平衡執行個體 ID。

    • SLBPort:應用型負載平衡執行個體監聽連接埠。

  • ValueType 取值為 UserDefined 時:您可自訂標頭欄位內容,限制長度為 1~128 個字元,支援萬用字元星號(*)、半形問號(?)和 ASCII 碼值 ch >= 32 && ch < 127 範圍內的可列印字元,不支援 "。開頭和結尾不能為空格。結尾不能為 \

  • ValueType 取值為 ReferenceHeader 時:您可以引用請求標頭欄位中的某一個欄位,限制長度為 1~128 個字元,支援小寫字母 a~z、數字、連字號(-)和底線(_)。

UserDefined

ValueType

string

標頭欄位內容類型。取值:

  • UserDefined:您自訂標頭欄位內容。

  • ReferenceHeader:引用請求標頭中的某一個標頭欄位內容。

  • SystemDefined:系統定義標頭欄位內容。

UserDefined

Order

integer

轉發規則動作執行的順序,取值範圍:1~50000,按值從小到大執行動作。值不能為空,不能重複。

1

RedirectConfig

object

重新導向配置。

說明

RedirectConfig 的參數,除了 httpCode 外,不能都使用預設值。

Host

string

要跳轉的主機位址。取值:

  • ${host}(預設值):取此值時不支援和其他字元拼接使用。

  • 其他取值,字元集和格式限制如下:
    • 主機名長度為 3~256 個字元,支援小寫字母 a~z、數字、連字號(-)、半形句號(.)以及萬用字元星號(*)、等號(=)、波浪線(~)、底線(_)、加號(+)、反斜線(\)、脫字符號(^)、驚嘆號(!)、美元符號($)、and(&)、豎線(|)、半形圓括號(())、方括號([])和半形問號(?)。

    • 主機名至少包含一個半形句號(.),且半形句號(.)不能出現在開頭或結尾。

    • 最右側的網域標籤只能包含字母和萬用字元,不能包含數字或連字號(-),最左側 domainlable 允許是星號(*)。

    • 連字號(-)不能出現在其它網域標籤的開頭或結尾。

    • 萬用字元星號(*)和半形問號(?)可以出現在網域標籤的任意位置。

${host}

HttpCode

string

跳轉方式。取值:301302303307308

301

Path

string

要跳轉的路徑。取值:

  • ${path}(預設值):可以引用 ${host}${protocol}${port},每個變數最多出現一次。上述變數可以同時使用,也可以和下面羅列的可取值範圍內的字串拼接使用。

  • 其他取值,字元集和格式限制如下:
    • 長度為 1~256 個字元,大小寫敏感,支援萬用字元星號(*)和半形問號(?)作為萬用字元使用。

    • 必須以正斜線(/)開頭,支援大小寫字母、數字和特殊字元 $-_.+/&~@:'*?,不支援 " %#;!()[]^,"\",同時支援萬用字元星號(*)和半形問號(?)。

/test

Port

string

要跳轉的連接埠。

  • ${port}(預設值):該取值不支援和其他字元同時使用。

  • 其他取值:1~63335

10

Protocol

string

要跳轉的通訊協定。取值:

  • ${protocol}(預設值):取該值時僅支援單獨使用,不支援修改或與其他字元拼接使用。

  • HTTP

  • HTTPS

說明
  • HTTPS 監聽僅支援跳轉 HTTPS 通訊協定。

  • HTTP 監聽支援跳轉 HTTP 和 HTTPS 通訊協定。

HTTP

Query

string

要跳轉的查詢字串。

  • ${query}(預設值):可以引用 ${host}${protocol}${port},每個變數最多出現一次。上述變數可以同時使用,也可以和下面羅列的可取值範圍內的字串拼接使用。

  • 其他取值,字元集和格式限制如下:
    • 長度為 1~128 個字元。

    • 支援可見字元,不支援空格和 #[]{}\|<>"。如果是字母則必須是小寫字母。

${query}

RewriteConfig

object

重寫配置。

說明

同一個轉發規則配置多個動作時,RewriteConfig 動作使用時必須配置 ForwardGroup 的動作類型。

Host

string

內部跳轉的目的主機位址。取值:

  • ${host}(預設值):該取值不支援和其他字元拼接。

  • 其他取值,字元格式限制如下:

    • 主機名長度為 3~256 個字元,支援小寫字母 a~z、數字、連字號(-)、半形句號(.)以及萬用字元星號(*)、等號(=)、波浪線(~)、底線(_)、加號(+)、反斜線(\)、脫字符號(^)、驚嘆號(!)、美元符號($)、and(&)、豎線(|)、半形圓括號(())、方括號([])和半形問號(?)。

    • 主機名至少包含一個半形句號(.),且半形句號(.)不能出現在開頭或結尾。

    • 最右側的網域標籤只能包含字母和萬用字元,不能包含數字或連字號(-),最左側 domainlable 允許是星號(*)。

    • 連字號(-)不能出現在其它網域標籤的開頭或結尾。萬用字元星號(*)和半形問號(?)可以出現在網域標籤的任意位置。

www.example.com

Path

string

要跳轉的路徑。取值:

  • ${path}(預設值):可以引用 ${host}${protocol}${port},每個變數最多出現一次。上述變數可以同時使用,也可以和下面羅列的可取值範圍內的字串拼接使用。

  • 其他取值,字元集和格式限制如下:
    • 長度為 1~256 個字元,大小寫敏感,支援萬用字元星號(*)和半形問號(?)作為萬用字元使用。

    • 必須以正斜線(/)開頭,支援大小寫字母、數字和特殊字元 $-_.+/&~@:'*?,不支援 " %#;!()[]^,"\",同時支援萬用字元星號(*)和半形問號(?)。

/tsdf

Query

string

內部跳轉的查詢字串。

  • ${query}(預設值):可以引用 ${host}${protocol}${port},每個變數最多出現一次。上述變數可以同時使用,也可以和下面羅列的可取值範圍內的字串拼接使用。

  • 其他取值,字元集和格式限制如下:
    • 長度為 1~128 個字元。

    • 支援可見字元,不支援空格和 #[]{}\|<>"。如果是字母則必須是小寫字母。

${query}

Type

string

動作類型。取值:

  • ForwardGroup:轉發至多個虛擬伺服器群組。

  • Redirect:重新導向。

  • FixedResponse:返回固定內容。

  • Rewrite:重寫。

  • InsertHeader:寫入標頭欄位。

  • RemoveHeader:刪除標頭欄位。

  • TrafficLimit:流量限速。

  • TrafficMirror:流量鏡像。

  • Cors:跨來源資源共用。

說明

一個轉發規則必須包含有一條 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:表示鏡像至伺服器群組。

ForwardGroupMirror

MirrorGroupConfig

object

流量鏡像至伺服器群組。

ServerGroupTuples

array<object>

流量鏡像至伺服器組。

object

流量鏡像至伺服器組。

ServerGroupId

string

伺服器組 ID。

sgp-00mkgijak0w4qgz9****

RemoveHeaderConfig

object

移除 HTTP 標頭配置。

Key

string

移除的標頭欄位名稱,長度為 1~40 個字元,支援大小寫字母 a~z、數字、底線(_)和連字號(-)。標頭欄位名稱不能重複用於 RemoveHeader 中。

  • 請求方向(Direction 取值為 Request):不允許將標頭名稱設定為以下欄位(不區分大小寫):slb-idslb-ipx-forwarded-forx-forwarded-protox-forwarded-eipx-forwarded-portx-forwarded-client-srcportconnectionupgradecontent-lengthtransfer-encodingkeep-alivetehostcookieremoteipauthorityx-forwarded-host

  • 回應方向(Direction 取值為 Response):回應方向不允許將標頭名稱設定為以下欄位(不區分大小寫):connectionupgradecontent-lengthtransfer-encoding

test

CorsConfig

object

跨來源資源共用。

AllowOrigin

array

允許的存取來源清單。支援只配置一個元素 *,或配置一個或多個值。

  • 單個值必須以 http:// 或者 https:// 開頭,後邊加一個正確的網域名稱或一級泛網域。(例:http://*.test.abc.example.com

  • 單個值可以不加連接埠,也可以指定連接埠,連接埠範圍:1~65535

string

允許存取的來源。

http://example.com

AllowMethods

array

選擇跨來源存取時允許的 HTTP 方法。

string

選擇跨來源存取時允許的 HTTP 方法。取值:

  • GET

  • POST

  • PUT

  • DELETE

  • HEAD

  • OPTIONS

  • PATCH

GET

AllowHeaders

array

允許跨來源的 Header 清單。

string

允許跨來源的 Header。支援配置為 * 或配置一個或多個 value 值,多個 value 值用半形逗號(,)隔開。單個 value 值只允許包含大小寫字母、數字,以及不在首尾的底線(_)和連字號(-),最大長度限制為 32 個字元。

test_123

ExposeHeaders

array

允許公開的 Header 清單。

string

允許公開的 Header。支援配置為 * 或配置一個或多個 value 值,多個 value 值用半形逗號(,)隔開。單個 value 值只允許包含大小寫字母、數字,以及不在首尾的底線(_)和連字號(-),最大長度限制為 32 個字元。

test_123

AllowCredentials

string

是否允許攜帶憑證資訊。取值:

  • on:是。

  • off:否。

on

MaxAge

integer

預檢請求在瀏覽器的最大快取時間,單位:秒。

取值範圍:-1~172800

1000

RuleConditions

array<object>

轉發規則條件清單。

array<object>

轉發規則條件。

CookieConfig

object

Cookie 配置。

Values

array<object>

Cookie 值清單。

object

Cookie 值結構體。

Key

string

Cookie 鍵。

  • 支援 1~100 個字元。

  • 支援可見字元和萬用字元星號(*)和半形問號(?),如果是字母必須為小寫字母。

  • 不支援空格和;#[]{}\|<>&"

test

Value

string

Cookie 值。

  • 支援 1~100 個字元。

  • 支援可見字元和萬用字元星號(*)和半形問號(?),如果是字母必須為小寫字母。

  • 不支援空格和;#[]{}\|<>&"

test

HeaderConfig

object

標頭欄位配置。

Key

string

標頭欄位索引鍵。

  • 支援 1~40 個字元。

  • 支援字母 a~z、數字、連字號(-)和底線(_)。

  • 不支援 Cookie 和 Host。

Port

Values

array

標頭欄位值清單。

string

HTTP 標頭值清單。同一個轉發規則條件內標頭欄位值不能重複。

  • 支援 1~128 個字元。

  • 支援 ASCII 碼值 ch >= 32 && ch < 127 範圍內可列印字元、星號(*)和半形問號(?)。不支援 "

  • 開頭和結尾不能為空格。結尾不能為 \

5006

HostConfig

object

主機配置。

Values

array

主機名稱清單。

string

主機名稱。一個轉發規則條件中只能有一個主機名稱,並且取值不能重複。

  • 主機名長度為 3~256 個字元,支援小寫字母 a~z、數字 0~9、連字號(-)、半形句號(.)、星號(*)、等號(=)、波浪線(~)、底線(_)、加號(+)、反斜線(\)、脫字符號(^)、驚嘆號(!)、美元符號($)、and(&)、豎線(|)、半形圓括號(())、方括號([])和半形問號(?)。

  • 主機名至少包含一個半形句號(.),且半形句號(.)不能出現在開頭或結尾。

  • 最右側的網域標籤只能包含字母和萬用字元,不能包含數字或連字號(-),最左側 domainlable 允許是星號(*)。

  • 連字號(-)不能出現在其它網域標籤的開頭或結尾。萬用字元星號(*)和半形問號(?)可以出現在網域標籤的任意位置。

  • 對於 <精確比對和萬用字元> 的輸入框,首字元不可以為波浪線(~)。

  • 對於正規表達式的輸入框(<正規表達式比對(不區分大小寫)>,首字元不可以為星號(*)。

www.example.edu

MethodConfig

object

請求方法配置。

Values

array

請求方法清單。

string

請求方法。

取值:HEADGETPOSTOPTIONSPUTPATCHDELETE

PUT

PathConfig

object

轉發路徑配置。

Values

array

轉發路徑清單。

string

轉發路徑。取值範圍:

  • 長度為 1~256 個字元,大小寫敏感,支援星號(*)和半形問號(?)作為萬用字元使用。

  • 非正規表達式的 URL,必須以正斜線(/)開頭,支援字母、數字和特殊字元 $-_.+/&~@:'*?,不支援 " %#;!()[]^,"\",支援星號(*)和半形問號(?)作為萬用字元使用。

  • 正規表達式的 URL,必須以 ~ 開頭,支援大小寫字母、數字和特殊字元 .-_/=?~^*$:()[]+|

/test

QueryStringConfig

object

查詢字串配置。

Values

array<object>

查詢字串清單。

object

查詢字串。

Key

string

查詢字串鍵。

  • 長度為 1~100 個字元。

  • 支援可見字元、萬用字元星號(*)和半形問號(?),如果是字母則必須為小寫字母。不支援空格和#[]{}\|<>&"

test

Value

string

查詢字串值。

  • 長度為 1~128 個字元。

  • 支援小寫字母、可見字元和萬用字元星號(*)和半形問號(?),不支援空格和#[]{}\|<>&"

test

ResponseStatusCodeConfig

object

回應狀態碼配置。

Values

array

回應狀態碼清單。

string

回應狀態碼。

test

ResponseHeaderConfig

object

標頭條件配置。

Key

string

標頭欄位索引鍵。

  • 長度為 1~40 個字元。

  • 支援字母 a~z、數字、連字號(-)和底線(_)。

  • 不支援 Cookie 和 Host。

test

Values

array

標頭欄位值清單。

string

標頭欄位值。

  • 長度為 1~128 個字元。

  • 支援 ASCII 碼值 ch >= 32 && ch < 127 範圍內可列印字元、小寫字母以及萬用字元星號(*)和半形問號(?)。不支援 "

  • 開頭和結尾不能為空格。結尾不能為 \

50006

Type

string

轉發規則類型。取值:

  • Host:主機。

  • Path:路徑。

  • Header:HTTP 標頭欄位。

  • QueryString:查詢字串。

  • Method:請求方法。

  • Cookie:Cookie。

  • SourceIp:來源 IP。

  • ResponseHeader:回應 HTTP 標頭欄位。

  • ResponseStatusCode: 回應狀態碼。

Host

SourceIpConfig

object

基於來源 IP 業務流量比對配置。當 TypeSourceIP 時必選且有效。

Values

array

基於來源 IP 業務流量比對清單。

string

新增一個或多個 IP 位址或者 IP 位址區段。

192.168.0.0/32

RuleName

string

轉發規則名稱。

  • 長度為 2~128 個英文或中文字元。

  • 必須以字母、中文或數字開頭,可包含數字、半形句號(.)、底線(_)、連字號(-)和空格。

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.
400 OperationDenied.IpGroupCanNotUsedForMirrorAction The operation is not allowed because of %s.
400 OperationDenied.GRPCServerGroup The operation is not allowed because of %s.
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.
400 QuotaExceeded.RuleMatchEvaluationsNum The quota of %s is exceeded, usage %s/%s.
400 QuotaExceeded.RuleActionsNum The quota of %s is exceeded, usage %s/%s.
400 Mismatch.Protocol The %s is mismatched for %s and %s.
400 Mismatch.VpcId The %s is mismatched for %s and %s.
400 OperationDenied.RewriteMissingForwardGroup The operation is not allowed because of 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.
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.

訪問錯誤中心查看更多錯誤碼。

變更歷史

更多資訊,參考變更詳情