全部產品
Search
文件中心

Serverless App Engine:為應用設定路由規則(ALB)

更新時間:Dec 05, 2025

如果您的業務請求需要分發給其他服務或者應用,您可以為應用配置網關路由功能,實現請求路由分發。本文介紹如何通過應用型負載平衡ALB為您的應用設定路由規則。

前提條件

  • SLB

  • SAE

    • 您已建立命名空間,並確保ALB與SAE命名空間處於同一地區,且綁定同一個VPC。具體操作,請參見建立命名空間

    • 您已建立應用,並確保應用類型為微服務應用。具體操作,請參見應用部署

    • 確保待配置網關路由的應用和後端接收請求的應用在同一命名空間內。

背景資訊

Server Load Balancer (SLB)是一種流量分發服務,旨在通過將流量平衡地分配到後端多個伺服器上,來擴充應用的處理能力並提升系統整體的可用性,同時消除潛在的單點故障。應用型負載平衡ALB作為SLB產品家族的一員,專門針對HTTP、HTTPS和QUIC等應用程式層協議提供服務。ALB不僅具備高度彈性和大規模應用程式層流量管理能力,還能處理複雜的業務路由需求,並與雲原生服務緊密整合,成為阿里雲官方推薦的雲原生Ingress網關解決方案。更多資訊,請參見Server Load Balancer產品家族介紹

使用情境

  • 單應用或多應用使用相同網域名稱但存在不同路徑流量轉寄。

  • 單應用或多應用由不同網域名稱流量轉寄,即不同網域名稱解析的訪問IP地址是同一個。

網關路由配置完成後,您可以通過<網域名稱>:<訪問連接埠/Path>訪問相應的後端服務或者應用。

建立網關路由

  1. SAE網關路由中,在頂部選擇目標地區和命名空間,點擊建立網關路由

  2. 建立路由頁面,按照下表說明完成參數設定,然後單擊儲存

    配置項

    配置說明

    路由名稱

    自訂路由名稱。

    網路類型

    選擇網路類型:

    • 公網:通過公網網關轉寄的請求,按照實際轉寄流量計費。

    • 私網:通過私網網關轉寄的請求不計費,僅在當前VPC內部轉寄。

    網關類型

    選擇ALB 應用型負載平衡

    ALB 執行個體

    單擊ALB 執行個體下面的下拉框,選擇ALB執行個體,您也可以單擊下拉框右側的建立 ALB 執行個體,建立ALB執行個體。具體操作,請參見建立和管理ALB執行個體。此外,SAE支援ALB代購,目前您可選擇的代購方式包括:

    • 建立標準版ALB執行個體(隨用隨付)

    • 建立WAF增強版ALB執行個體(隨用隨付)

    選擇建立後,系統將自動建立指定網路類型的ALB執行個體。關於ALB計費說明,請參見ALB計費概述

    說明

    如果目前範圍沒有ALB執行個體 ,可能是已有ALB執行個體和當前命名空間綁定的VPC不一致,可前往ALB控制台建立相同地區且VPC相同的ALB執行個體。

    前端協議類型

    • 選擇請求轉寄協議:

      • HTTP:適用於需要對資料內容進行識別的應用,如行動裝置 App和小型手機遊戲等。

      • HTTPS:適用於需要加密傳輸的應用。

        重要

        若通過HTTPS協議訪問自訂網域名,則要求該網域名稱必須已在阿里雲備案,詳見ICP備案流程

    訪問連接埠

    自訂訪問連接埠,連接埠範圍為0~65535。

    進階配置

    展開進階設定地區,可以設定以下參數:

    • 串連請求逾時時間佈建要求後端伺服器的逾時時間(可以選擇的範圍為1~180秒)。如果後端伺服器在指定時間內未響應,則會返回HTTP 504錯誤碼。

    • 串連空閑逾時時間設定無請求時的串連時間長度(可以選擇的範圍為1~60秒)。如果在指定的空閑時間內無新的請求,負載平衡會暫時中斷當前串連,直到下次請求來臨時重建立立新的串連。

    • 附加HTTP頭欄位選擇以下特定的HTTP頭部欄位以擷取特定的資訊。

      • 開啟通過X-Forwarded-For頭欄位擷取來訪者用戶端IP欄位格式為X-Forwarded-For: <client-ip-address>, <proxy1>, <proxy2>, …

        預設開啟X-Forwarded-For頭欄位。

        ALB如何擷取用戶端真實IP教程,請參見後端伺服器通過ALB擷取用戶端真實IP

      • 通過SLB-ID頭欄位擷取Server Load Balancer執行個體ID欄位格式為SLB-ID

      • 通過X-Forwarded-Proto頭欄位擷取Server Load Balancer執行個體的監聽協議欄位格式為X-Forwarded-Proto: <originatingProtocol>

      • 通過X-Forwarded-Port頭欄位擷取Server Load Balancer執行個體的監聽連接埠欄位格式為X-Forwarded-Port: <port>

      • 通過X-Forwarded-Client-srcport頭欄位擷取Server Load Balancer執行個體用戶端的連接埠欄位格式為X-Forwarded-Client-srcport: <port>

    • 資料壓縮:開啟後,ALB 會對滿足條件的響應進行 Gzip 或 Brotli 壓縮,以減少傳輸頻寬。

      • 壓縮條件:回應標頭 Content-Length 超過 1024 位元組,且用戶端要求標頭 Accept-Encoding 包含相應演算法。

      • 演算法優先順序:當用戶端同時支援Brotli和Gzip壓縮演算法時,ALB會優先採用更高效的Brotli演算法。

      • 支援的Content-Type

        • Brotli支援壓縮所有類型。

        • Gzip支援的類型包括:text/xmltext/plaintext/cssapplication/javascriptapplication/x-javascriptapplication/rss+xmlapplication/atom+xmlapplication/xmlapplication/json

    自訂轉寄策略

    您可以根據實際需求配置轉寄策略,支援將前端請求轉寄到後端服務。所需配置參數如下:

    • 網域名稱:輸入要轉寄的請求網域名稱。如果不填寫,則預設對所有網域名稱生效。您需要提前佈建網域名解析,才可以實現通過網域名稱訪問應用,請參見為ALB配置CNAME網域名稱解析

    • 訪問連接埠:預設是上一步驟設定的訪問連接埠,不支援設定。

    • Path:輸入終端訪問的路徑,不可為空白。

    • 後端應用:選擇接收轉寄請求的應用,該應用須與轉寄請求的應用在同一個命名空間內。

    • 容器連接埠:設定訪問後端應用的容器連接埠。

    • 重寫策略:轉寄前端請求到後端應用時,您可以將原請求中的路徑進行重寫。例如,希望將前端請求路徑/AAA/a/AAA/b等轉寄到後端應用時重寫為/a/b等,可以將Path設定為/AAA/(.*)重寫策略中將路徑設定為/${1}

    說明
    • 在同一個Server Load Balancer執行個體內,監聽連接埠不可重複。

    • 您也可以單擊+ 添加規則,添加同一網域名稱下的自訂轉寄策略的規則。

    • 您也可以單擊+ 添加網域名稱,添加其他網域名稱的自訂轉寄策略的規則。

    預設轉寄策略

    • ALB 執行個體:預設上面步驟選擇的ALB執行個體,不支援設定。

    • 訪問連接埠:預設選擇上面步驟設定的訪問連接埠,不支援設定。

    • 後端應用:選擇接收轉寄請求的應用,該應用須與轉寄請求的應用在同一個命名空間內。

    • 容器連接埠:設定訪問後端應用的容器連接埠。

    說明

    推薦設定預設轉寄策略,為所有未匹配上自訂轉寄策略的請求指定預設的轉寄策略,如果不設定會導致訪問報錯。

  3. 結果驗證。

    • 方式一:登入負載平衡管理主控台,在ALB執行個體頁面,查看監聽是否已經配置。

    • 方式二:通過<網域名稱>:<訪問連接埠/Path>訪問相應的服務或應用,查看是否按照已配置好的轉寄策略進行了轉寄,以驗證配置是否生效。

管理路由規則

建立路由規則後,您可以在網關路由頁面查看轉寄策略編輯刪除網關路由,以及查看相關事件