全部產品
Search
文件中心

Server Load Balancer:存取控制

更新時間:May 29, 2026

ALB存取控制通過在監聽上配置IP黑白名單,實現對用戶端請求的精細化過濾。使用者可以建立存取控制策略組,添加IP條目,並將策略組關聯到監聽來限制或允許存取特定來源的訪問。

存取控制(ACL)與安全性群組如何選擇

ALB提供兩種存取控制機制:存取控制ACL和安全性群組

對比項

存取控制ACL(本文)

ALB安全性群組

控制粒度

基於源IP,作用於單個監聽。

基於源IP + 協議 + 連接埠,作用於整個ALB執行個體。

IPv6支援

不支援,僅可添加IPv4條目。

支援IPv4和IPv6地址。

預設行為

白名單模式自動拒絕未列入的IP;黑名單模式自動允許存取未列入的IP。

預設放通所有流量,必須顯式添加拒絕規則(0.0.0.0/0)才能限制訪問。

適用情境

簡單IP黑白名單。配置簡便,無需理解優先順序規則。

需連接埠粒度控制、IPv6控制、或ICMP協議控制的情境。

前提條件

建立ALB執行個體配置監聽

建立存取控制策略組

存取控制策略組是IP條目的集合。建立策略組並添加IP條目後,可將其關聯到監聽以實現黑名單或白名單存取控制。

控制台

  1. 前往ALB控制台的存取控制頁面,在頂部功能表列選擇目標執行個體所屬地區,然後單擊建立存取控制策略組

  2. 建立存取控制原則組對話方塊,輸入策略組名稱,單擊確定

  3. 策略組建立完成後,在存取控制頁面,單擊目標策略組ID進入詳情頁。在條目頁簽,通過以下方式添加IP條目:

    • 單個添加:單擊添加條目,在對話方塊輸入地址/位址區段備忘,單擊添加

    • 大量新增:單擊大量新增條目,按以下格式批量輸入:

      • 每個條目一行,以斷行符號分隔。

      • IP地址或IP位址區段與備忘之間用豎線(|)分隔,例如192.168.1.0/24|備忘

      • 單次最多支援添加20個條目。

      • 如果大量新增的條目中包含策略組內已存在的條目,大量新增將失敗,需移除重複條目後重新提交。

添加完成後,可在條目列表中刪除或匯出條目。

API

開啟/關閉存取控制

使用者可以為監聽設定訪問白名單或黑名單:

  • 白名單:僅允許策略組內的IP訪問監聽,拒絕其他所有請求。

  • 黑名單:拒絕策略組內的IP訪問監聽,允許存取其他所有請求。

重要

無論設定白名單還是黑名單,如果關聯的策略組中沒有任何IP條目,存取控制不會生效,監聽將轉寄全部請求。設定白名單前請確認策略組內已包含需要允許存取的IP,避免阻斷正常業務流量。

控制台

  1. 前往ALB控制台的執行個體頁面,在頂部功能表列選擇目標執行個體所屬地區,單擊目標執行個體ID。

  2. 監聽頁簽,找到目標監聽,在存取控制列單擊啟用關閉

    • 啟用:在對話方塊選擇存取控制方式白名單黑名單)和存取控制策略組,單擊儲存

    • 關閉:在確認對話方塊單擊確定

也可以在監聽詳情頁的存取控制地區開啟或關閉存取控制。

API

常見問題

配了白名單,任意IP仍能訪問

原因:策略組未關聯到監聽;或策略組中沒有添加任何IP條目(空策略組等同於全部放通)。

解決方案:進入ALB執行個體的監聽頁簽,確認目標監聽的存取控制列顯示已開啟,並確認關聯的策略組中包含IP條目。

想臨時全放通,添加0.0.0.0/0到白名單不生效

原因:存取控制策略組不支援添加0.0.0.0/0,控制台會提示格式錯誤。

解決方案:正確做法是直接關閉存取控制,需要時再開啟。

配了黑名單,目標IP仍能訪問

原因:請求經CDN/WAF轉寄到ALB,ALB看到的源IP是CDN/WAF的回源IP,而非用戶端真實IP。

解決方案:ALB存取控制在四層生效,匹配的是請求報文的源IP地址。當請求經CDN/WAF轉寄時,源IP是CDN/WAF的回源IP,因此ALB層的黑名單無法攔截用戶端IP。需要在WAF或CDN層配置黑名單。

黑名單無法攔截X-Forwarded-For中的IP

原因:ALB存取控制在四層生效,僅匹配請求報文的源IP地址,不解析七層HTTP頭部中的X-Forwarded-For欄位。

解決方案:可在 WAF 中通過自訂規則實現:將匹配欄位設為 X-Forwarded-For、邏輯符設為包含匹配內容填寫目標IP,規則動作設為攔截。參考配置自訂規則中的匹配條件說明

在後端Nginx配了allow/deny不生效

原因:經過ALB代理後,後端伺服器收到的請求來源IP是ALB的Local IP(從ALB執行個體所在交換器分配的私網地址),Nginx的allow/deny基於來源IP判斷,因此無法匹配用戶端IP。

解決方案

  • (推薦)改用ALB存取控制功能,在ALB層直接配置IP黑白名單。

  • 在Nginx中通過X-Forwarded-For要求標頭擷取用戶端真實IP,再基於真實IP配置allow/deny規則。

想對單個網域名稱或URL路徑做訪問限制

說明:存取控制ACL作用於監聽層級,無法按網域名稱或路徑區分。開啟後該監聽下所有網域名稱均受影響。

替代方案:標準版或WAF增強版ALB可通過轉寄規則實現——在轉寄條件中同時配置網域名稱/路徑SourceIp條件,對匹配的請求返回固定響應(如403)。單條轉寄規則的SourceIp條件最多支援5個IP/CIDR段,且不支援0.0.0.0/x格式。如IP數量較多或使用基礎版ALB,建議接入WAF,通過自訂規則實現網域名稱/路徑與IP組合的存取控制。

想封鎖國外IP

說明:ALB存取控制不提供地區封鎖功能,無法自動識別IP所屬國家。

替代方案:可以手動將已知國外IP段加入黑名單,但無法自動更新且條目數有上限。建議使用WAF的地區封鎖功能實現。

多層代理情境的存取控制

當ALB前存在七層代理時,ALB存取控制(四層生效)只能看到上一跳代理的回源IP,無法識別用戶端真實IP,需在正確的層級配置存取控制。以CNAME接入WAF的情境為例(用戶端 → CDN → WAF → ALB → ECS),各層的源IP和存取控制建議如下。

WAF增強版ALB通過SDK整合實現防護,WAF不參與流量轉寄,因此不存在WAF回源環節。如果ALB前無CDN等七層代理,則不存在本節描述的問題。

層級

看到的源IP

存取控制建議

WAF

  • 無CDN時為用戶端真實IP。

  • 有CDN時為CDN回源IP,需在WAF接入配置中設定用戶端IP判定方式以擷取真實用戶端IP。

推薦在此層做IP黑白名單。WAF正確配置後可基於用戶端真實IP進行攔截,同時支援地區封鎖功能。

ALB

WAF的回源IP。

在ALB配置白名單,僅允許WAF的回源IP段訪問,防止攻擊者繞過WAF直接存取ALB公網IP。WAF回源IP段可在WAF控制台的接入管理頁面查看。

後端ECS

ALB的Local IP(從ALB執行個體所在交換器分配的私網地址)。

請確保後端 ECS 的 iptables 或其他第三方安全軟體未屏蔽 ALB 的 Local IP 網段,否則健全狀態檢查和請求轉寄會失敗。

計費

存取控制功能本身不產生額外費用。ALB執行個體的計費規則請參見ALB計費說明

配額

限制項

功能版本

上限

一個存取控制策略組可關聯的監聽數

基礎版/標準版/WAF增強版

50

一個監聽可關聯的存取控制策略組數

基礎版/標準版/WAF增強版

3

一個地區可支援的存取控制策略組數

基礎版/標準版/WAF增強版

1000

一個存取控制策略組可添加的條目數

基礎版/標準版/WAF增強版

500

一個ALB執行個體可關聯的存取控制條目數

基礎版/標準版/WAF增強版

800

一個監聽可關聯的存取控制條目數

基礎版

300

標準版/WAF增強版

500

上述指標為硬限制,無法提升,詳見ALB配額與限制