全部產品
Search
文件中心

Server Load Balancer:ALB佈建網域名和路徑的轉寄規則

更新時間:Nov 14, 2025

本文介紹了為ALB監聽佈建網域名和路徑轉寄規則,以及轉寄動作配置重寫和重新導向路徑增強規則的詳細方法。

轉寄條件的網域名稱配置規則

網域名稱配置規則支援精準網域名稱、萬用字元網域名稱和Regex網域名稱。關於如何添加轉寄規則,請參見添加轉寄規則

網域名稱配置規則

說明

精準匹配及萬用字元

  • 匹配說明

    • 精準匹配:請求的網域名稱和設定的網域名稱需完全一致。

    • 萬用字元匹配:請求的網域名稱和設定的網域名稱除萬用字元外需完全一致。

  • 輸入條件

    網域名稱長度限制為3~128個字元,只允許包含大小寫英文字母、數字和.-?=~_+\^*!$&|()[]這些特殊字元,支援星號(*)和半形問號(?)作為萬用字元使用。

  • 樣本

    請求的網域名稱:www.example.com

    • 精準匹配:輸入www.example.com匹配成功。

    • 萬用字元匹配:輸入*.example.comwww.example.*匹配成功。

正則匹配

  • 匹配說明

    請求的網域名稱和設定的網域名稱根據Regex匹配。

  • 輸入條件

    網域名稱長度限制為3~128個字元,只允許包含大小寫英文字母、數字和.-?=~_-+\^*!$&|()[]這些特殊字元。

  • 樣本

    請求的網域名稱:www.example.com

    不區分大小寫:正則輸入^www.example.com$匹配成功。

轉寄條件的路徑配置規則

路徑配置規則支援精準路徑、萬用字元路徑和Regex路徑。關於如何添加轉寄規則,請參見添加轉寄規則

路徑配置規則

說明

精準匹配及萬用字元

  • 匹配說明

    • 精準匹配:請求的路徑和設定的路徑需完全一致。

    • 萬用字元匹配:請求的路徑和設定的路徑除萬用字元外需完全一致。

  • 輸入條件

    必須以 / 開頭,只允許包含大小寫英文字母、數字和$-_.+/&~@:這些特殊字元,支援星號(*)和半形問號(?)作為萬用字元使用。

  • 樣本

    請求的路徑:/example/text

    • 精準匹配:輸入/example/text匹配成功。

    • 萬用字元:輸入/example/*匹配成功。

    說明

    ALB的路徑匹配規則與Nginx不同,ALB不支援路徑最長相符原則。

    例如,Nginx的常用配置為location /abc,匹配location的方式為最長首碼匹配,ALB的最長首碼匹配需通過萬用字元實現。您可以在ALB上配置/abc/*(精確匹配及萬用字元)來達到相同的效果。

正則匹配

  • 匹配說明

    請求的路徑和設定的路徑根據Regex匹配。

  • 輸入條件

    只允許包含大小寫英文字母、數字和.-_/=?~^*$:()[]+|這些特殊字元 。

  • 樣本

    請求的路徑:/sys/aaa/HOST

    • 區分大小寫:正則匹配輸入^/sys/(.*)/HOST$時,路徑匹配成功。

    • 不區分大小寫:正則匹配輸入^/sys/(.*)/host$時,路徑匹配成功。

重寫和重新導向中路徑的增強配置規則

轉寄條件的路徑配置Regex後,轉寄動作中的重寫和重新導向的路徑支援Regex替換。關於如何添加轉寄規則,請參見添加轉寄規則

說明

轉寄條件的路徑正則配置規則,請參見轉寄條件的路徑配置規則

  • 注意事項

    • 轉寄條件中Regex中包含的半形圓括弧( )需要與轉寄動作中重寫或重新導向路徑中$變數的個數保持一致。

    • 轉寄動作中重寫或重新導向的路徑中需要包含${1}${2}${3}中的一個或多個,且這三個變數不支援使用其他字元代替。

  • 替換原理

    1. 路徑匹配:用戶端發送請求,並匹配到某一條路徑轉寄規則的Regex。

    2. 提取與替換:按照Regex的規範提取,將前三個半形圓括弧( )提取出來的內容分別儲存至${1}${2}${3}中,用於在轉寄動作的重寫或重新導向路徑中替換。

    3. 拼接:按照轉寄動作中重寫或重新導向路徑的配置,對其中的${1}${2}${3}進行值的替換,最終拼接成重寫或重新導向的實際路徑。

    編號

    步驟

    樣本

    1

    配置轉寄規則中的轉寄條件和轉寄動作。

    • 轉寄條件路徑:/sys/(.*)/(.*)/aaa

    • 轉寄動作重寫或重新導向路徑:/${1}/${2}

    2

    用戶端發送請求,並匹配路徑。

    • 用戶端發送的請求路徑:/sys/ccc/bbb/aaa

    • 匹配到的轉寄條件路徑:/sys/(.*)/(.*)/aaa

    3

    提取與替換

    按照Regex規範,轉寄條件路徑中的兩個(.*)分別提取到cccbbb,並分別保留至轉寄動作中重寫或重新導向路徑中的${1}和${2}。

    • ${1}替換為ccc

    • ${2}替換為bbb

    4

    拼接路徑

    後端伺服器接收到的路徑:/ccc/bbb

  • 配置樣本

    您可以根據注意事項和替換原理,在控制台上添加轉寄規則。

    樣本1:轉寄動作為重寫和轉寄至

    以路徑sys/ccc/bbb/aaa被請求轉寄並重寫為/ccc/bbb為例,轉寄規則配置樣本如下:樣本1

    類別

    說明

    如果以下條件全部匹配

    路徑正則匹配

    • 匹配說明

      請求的路徑和設定的路徑根據Regex匹配。

    • 輸入條件

      只允許包含大小寫英文字母、數字和.-_/=?~^*$:()[]+|這些特殊字元 。

    • 樣本

      請求的路徑:/sys/ccc/bbb/aaa

      • 區分大小寫:正則匹配輸入/sys/(.*)/(.*)/aaa時,路徑匹配成功。

      • 不區分大小寫:正則匹配輸入/sys/(.*)/(.*)/aaa,路徑匹配成功。

    轉寄動作

    重寫

    • 網域名稱${host}

    • 路徑/${1}/${2}

    • 查詢${query}

    說明

    查詢的內容指URL中問號後面的部分。

    樣本:URL為www.example.com/test/test1?x=1查詢的內容為x=1

    轉寄至

    在伺服器組列表中選擇目標伺服器組。

    樣本2:轉寄動作為重新導向

    以路徑sys/ccc/bbb/aaa被請求轉寄並重新導向為/ccc/bbb為例,轉寄規則配置樣本如下:

    樣本2

    類別

    說明

    如果以下條件全部匹配

    路徑正則匹配

    • 匹配說明

      請求的路徑和設定的路徑根據Regex匹配。

    • 輸入條件

      只允許包含大小寫英文字母、數字和.-_/=?~^*$:()[]+|這些特殊字元 。

    • 樣本

      請求的路徑:/sys/ccc/bbb/aaa

      • 區分大小寫:正則匹配輸入/sys/(.*)/(.*)/aaa時,路徑匹配成功。

      • 不區分大小寫:正則匹配輸入/sys/(.*)/(.*)/aaa,路徑匹配成功。

    轉寄動作

    重新導向

    • 協議$protocol

    • 網域名稱${host}

    • 連接埠${port}

    • 路徑/${1}/${2}

    • 查詢${query}

    • 狀態代碼301

常見問題

如何在ALB中配置轉寄規則以去除路徑中的特定首碼並支援多層路徑匹配?

在使用ALB時,如需配置轉寄規則將特定網域名稱和路徑的請求進行處理,以去除特定路徑首碼並支援匹配後續多層路徑,您可以參考以下樣本進行配置:

樣本:ALB轉寄 www.example.com/api/aaa/bbb/...的訪問請求時,需要在路徑中去除 /api 部分,同時支援匹配 /api 後的多層路徑。

您可以使用重寫或重新導向方式,在配置路徑時,使用正則匹配^/api/(.*),以匹配所有以/api開頭的路徑,然後轉寄動作配置路徑為/${1},表示替換/api後面的所有路徑。具體配置如下:

  • 重寫

    image

  • 重新導向

    image

相關文檔

如果您需要為ALB監聽配置其他監聽轉寄規則,請參見配置監聽轉寄規則