全部產品
Search
文件中心

Web Application Firewall:接入管理常見問題

更新時間:Oct 29, 2025

本文列舉了Web Application Firewall(Web Application Firewall,簡稱WAF)3.0版本接入可能遇見的問題。

概覽

WAF中的來源站點IP與回源IP有什麼區別?

  • WAF的回源IP WAF的回源IP是指WAF在將經過防護處理的正常流量轉寄到來源站點伺服器時所使用的IP位址區段。這些IP地址是由阿里雲分配的,用於標識WAF作為Proxy 伺服器向來源站點發起請求的來源。

    • 回源IP段通常是一個固定的IP位址範圍。

    • 在來源站點伺服器看來,所有來自用戶端的請求都會被WAF攔截並轉寄,而真實的用戶端IP會被記錄在HTTP頭部欄位(如X-Forwarded-For或自訂Header)中。

  • 來源站點IP 來源站點IP是指實際承載業務的後端伺服器的公網IP地址或網域名稱解析出的IP地址。它是使用者訪問網站時最終接收請求並返迴響應的目標地址。

    • 來源站點IP可以是單個IP地址,也可以是多個IP地址(支援負載平衡)。

    • 來源站點IP是使用者網站的真實服務地址,可能部署在阿里雲ECS、SLB、OSS或其他雲端服務商上。

同一個網域名稱能不能同時使用雲產品接入和CNAME接入?

不推薦。每個網域名稱只能使用雲產品接入或CNAME接入兩種模式之一,重複接入會導致轉寄衝突防護失效。如果您已通過CNAME接入開啟WAF防護的網域名稱,需要切換為雲產品接入,您必須先刪除該網域名稱的CNAME接入配置,然後在雲產品接入模式下重新接入該網域名稱。

WAF能夠保護在一個網域名稱下的多個來源站點IP嗎?

可以,一個WAF網域名稱配置中最多支援配置20個來源站點IP地址。

WAF是否支援健全狀態檢查?

WAF預設啟用健全狀態檢查。WAF會對所有來源站點IP進行接入狀態檢測,如果某個來源站點IP沒有響應,WAF會將訪問請求轉寄至其他來源站點IP。

來源站點IP無法響應時,WAF將為該來源站點IP自動化佈建一個靜默時間。靜默時間結束後,新的訪問請求可能仍然會被轉寄至該來源站點IP。

WAF的獨享IP是否能夠防禦DDoS攻擊?

獨享IP,可避免當一個網域名稱遭受大流量DDoS攻擊,導致其他接入的網域名稱也無法訪問的情況。更多資訊請參見獨享IP的價值

WAF能和CDN或DDoS高防一起接入嗎?

WAF完全相容CDN和DDoS高防服務。WAF與DDoS高防或CDN一起接入時,只要將WAF提供的CNAME地址配置為DDoS高防或CDN的來源站點即可。這樣就可以實現流量在經過DDoS高防或CDN之後,被轉寄到WAF,再通過WAF最終轉寄至來源站點,從而對來源站點進行全面的安全防護。更多資訊,請參見通過聯合部署DDoS高防和WAF提升網站防護能力部署WAF和CDN為開啟內容加速的網域名稱提供WAF防禦

WAF是否支援跨帳號使用CDN+高防+WAF的架構?

支援,您可以跨帳號使用CDN、高防、WAF產品組合成抵禦DDoS攻擊和Web應用攻擊的安全架構。

WAF如何保證上傳認證及密鑰的安全性?是否會解密HTTPS流量並記錄訪問請求的內容?

阿里雲Web Application Firewall在防護HTTPS業務時,需要您上傳對應的SSL認證及密鑰,用於解密HTTPS流量並檢測流量中的攻擊特徵。我們使用了專用的認證伺服器(Key Server)來儲存和管理密鑰。Key Server依託於阿里雲密鑰管理系統KMS(Key Management Service),能夠保護認證和密鑰的資料安全性、完整性和可用性,符合監管和等保合規要求。關於KMS的詳細介紹,請參見什麼是Key Management Service

WAF使用您上傳的SSL認證及密鑰解密HTTPS業務流量,只用於即時檢測。我們只會記錄包含攻擊特徵(payload)的部分請求內容,用於攻擊報表展示、資料統計等,不會在您未授權的情況下,記錄全量的請求或響應內容。

阿里雲Web Application Firewall已通過ISO 9001、ISO 20000、ISO 22301、ISO 27001、ISO 27017、ISO 27018、ISO 27701、ISO 29151、BS 10012、CSA STAR、等保三級、SOC 1/2/3、C5、HK金融、OSPAR、PCI DSS等多項國際權威認證,且作為標準的阿里雲雲產品,在雲平台層面具備與阿里雲同等水平的安全合規資質。詳細內容,請參見阿里雲信任中心

網站已接入WAF防護,為什麼在網域名稱列表中查詢不到?

您的網站備案資訊可能已經失效,導致網域名稱不符合接入要求,已被WAF自動清除。您需要為該網域名稱完成ICP備案,並重新將網站接入WAF防護。關於阿里雲ICP備案的更多資訊,請參見ICP備案流程

重要

您在將網站接入中國內地WAF執行個體防護前,必須保證網域名稱備案資訊的有效性。為符合相關法律法規要求,中國內地WAF執行個體會定期清除備案失效的網域名稱。

WAF如何通過自訂Header擷取用戶端源IP和記錄用戶端IP?

自訂Header擷取用戶端源IP:如果網站業務在WAF前有其他七層代理服務(例如,DDoS高防、CDN等),為了避免攻擊者偽造XFF欄位,躲避WAF的檢測規則,提高業務的安全性,可在業務中使用自訂Header存放用戶端IP,將用戶端源IP放置在某個自訂的Header欄位(例如,X-Client-IP、X-Real-IP),並在WAF中配置對應Header欄位,WAF擷取指定Header欄位的值作為用戶端源IP。如果設定多個Header欄位,WAF將按順序嘗試讀取用戶端IP。

自訂Header記錄用戶端IP:在添加網站到WAF防護時,通過開啟流量標記,使WAF在用戶端請求的自訂Header欄位中寫入用戶端IP,後端伺服器可以從WAF回源請求的指定Header欄位中擷取用戶端IP,適用於後端伺服器需要從指定的自訂Header中擷取用戶端IP進行業務分析的情境。

同一個網域名稱解析指向了多個雲產品執行個體,該如何接入?

使用雲產品接入:需要同時接入這些雲產品執行個體(例如CLB執行個體的服務連接埠),實現WAF對這幾個執行個體同時引流。

使用CNAME接入:CNAME接入此網域名稱後,所有雲產品執行個體都將受到WAF預設防護策略的防護。

多個網域名稱解析指向了同一個雲產品執行個體,該如何接入?

使用雲產品接入:您接入此雲產品執行個體後,執行個體上的所有網域名稱都將受到WAF預設防護策略的防護。但如果您希望單獨為這些網域名稱配置不同的防護規則,則需要手動將網域名稱添加為防護對象,詳細資料,請參見手動添加防護對象

使用CNAME接入:逐一接入多個網域名稱。

CNAME接入支援接入哪些網域名稱尾碼?

WAF3.0支援接入大部分網域名稱尾碼,包括中文網域名稱尾碼,具體支援的中文尾碼列表請參見iana.org

WAF3.0支援的網域名稱尾碼多於WAF2.0,若您發現某網域名稱在WAF2.0不支援接入,建議升級至WAF3.0。

WAF是否支援HTTPS雙向認證?

CNAME接入和透明接入暫不支援,使用WAF3.0服務化接入方案可以支援HTTPS雙向認證,目前支援服務化接入的雲產品包括ALB、MSE、FC、SAE,可以在WAF控制台雲產品接入一欄中配置接入。

WAF是否支援Websocket、HTTP 2.0或SPDY協議?

WAF支援WebSocket協議。訂用帳戶企業版及以上和隨用隨付版本支援監聽HTTP 2.0協議。暫不支援SPDY協議。

為避免攻擊者通過HTTP 2.0明文走私來繞過WAF,您可以通過建立自訂規則,攔截Header名稱為Upgrade,且值為h2c的請求。具體操作,請參見設定自訂規則防禦特定請求

HTTP 2.0業務接入WAF防護是否會對來源站點有影響?

有影響。HTTP 2.0業務接入WAF防護表示WAF可以處理用戶端的HTTP 2.0請求,而WAF目前僅支援以HTTP 1.0/1.1協議轉寄回源請求,即WAF與來源站點間暫不支援HTTP 2.0。因此,如果您將HTTP 2.0業務接入WAF防護,則來源站點的HTTP 2.0特性將會受到影響,例如,來源站點HTTP 2.0的多工特性可能失效,造成來源站點業務頻寬上升。

WAF是否支援接入採用NTLM協議認證的網站?

不支援。如果網站使用NTLM協議認證,經WAF轉寄的訪問請求可能無法通過來源站點伺服器的NTLM認證,用戶端將反覆出現認證提示。建議您使用其他方式進行網站認證。

WAF的QPS限制規格是針對整個WAF執行個體匯總的QPS,還是配置的單個網域名稱的QPS上限?

WAF的QPS限制規格針對整個WAF執行個體。

例如,您在WAF執行個體上配置防護了3個網域名稱,則這3個網域名稱累加的QPS不能超過規定上限。如果超過已購買的WAF執行個體的QPS限制,執行個體可能會進入沙箱。實際QPS超過規格或進入沙箱時,將不再保證產品遵循服務等級協議(Service Level Agreement,簡稱“ SLA”)。

如何查看WAF回源IP段與WAF提供的CNAME?

可以在接入列表頁的下圖位置找到WAF的回源IP段以及WAF為每個接入網域名稱提供的CNAME地址。image

接入配置頁面找不到需要接入的CLB執行個體、NLB執行個體或ECS執行個體的排查方法

可能原因

相關操作

要接入的CLB執行個體、NLB執行個體或ECS執行個體不滿足限制條件

參考執行個體接入限制條件,排查執行個體。具體限制條件,請參見CLB執行個體接入限制NLB執行個體接入限制ECS執行個體接入限制

要接入的CLB執行個體未添加對應監聽

WAF未同步CLB、NLB或ECS執行個體

同步資產的具體步驟請參見手動同步資產

添加HTTPS引流連接埠時,顯示CLB認證不全,該如何處理?

問題現象

添加HTTPS引流連接埠時,WAF會對該連接埠配置的認證進行來源校正。添加連接埠後出現以下提示:連接埠號碼為XXX的CLB認證不全,請到CLB控制台重新選擇來源是SSL認證服務的認證

可能原因

  • 配置的認證不是通過阿里雲Certificate Management Service (Original SSL Certificate)購買的,且未上傳到阿里雲Certificate Management Service (Original SSL Certificate)

  • CLB執行個體配置該HTTPS連接埠監聽的認證通過CLB控制台上傳,然而,這種上傳方式導致認證資訊無法自動同步到數位憑證管理服務(原 SSL 憑證管理)。由於 WAF(Web Application Firewall)僅從數位憑證管理服務擷取認證資訊,這就造成了 WAF 無法擷取到完整的認證內容,進而出現認證不全的提示。

  • 曾上傳到數位憑證管理服務的認證被手動刪除,當前Certificate Management Service (Original SSL Certificate)中沒有您的認證。

解決方案

  1. 將您的認證上傳到Certificate Management Service (Original SSL Certificate)。具體操作,請參見上傳SSL認證

  2. 在CLB控制台建立認證,並選擇認證來源為阿里雲簽發認證。具體操作,請參見選擇阿里雲簽發認證

  3. 在CLB控制台,選擇已上傳的伺服器憑證。具體操作,請參見步驟二:配置SSL認證

WAF中的來源站點IP填寫ECS公網IP還是內網IP?

公網IP。WAF通過公網進行回源,不支援直接填寫內網IP。

來源站點伺服器公網IP暴露,攻擊者直接攻擊來源站點公網IP繞過WAF怎麼辦?

方式一:CNAME接入方式下,配置來源站點伺服器允許存取WAF回源IP段,確保僅有WAF能與來源站點伺服器建立通訊。具體操作請參見允許存取WAF回源IP段

方式二:使用雲產品接入。

接入WAF後返回502狀態代碼的多種情境

問題現象

接入WAF後訪問後端服務,返回502狀態代碼;查閱日誌中出現狀態代碼為502的請求。

問題原因與解決方案

情況一:CNAME接入方式下返回502

CNAME接入方式下,當來源站點(指ECS執行個體、CLB執行個體等)無法被WAF訪問時,部分情況下會返回502錯誤。建議您優先檢查來源站點安全性群組、iptables、防火牆、安全狗、雲鎖等可能限制WAF訪問的規則或軟體,例如您需要在ECS執行個體的安全性群組中允許存取WAF回源IP段

同時,您也需要確保在WAF控制台配置了業務實際使用的網域名稱與來源站點資訊,網域名稱與來源站點資訊不匹配也會導致此報錯。

情況二:7層CLB開啟雲產品接入出現偶發5XX

詳細原因分析

WAF的後向串連空閑逾時時間:3600秒(1小時)

  • 說明:當CLB與WAF之間的串連在1小時內沒有任何資料轉送時,WAF會自動關閉這個串連。

    image

CLB的前向串連空閑逾時時間:15秒

  • 說明:當用戶端(當前情況下的WAF執行個體)與CLB之間的串連在15秒內沒有任何資料轉送時,CLB會自動關閉這個串連。

    image

存在極端情況下,長串連在CLB側老化的瞬間(超過15s沒有傳輸資料),WAF回源請求複用該長串連發送資料到CLB側,此時CLB上沒有長串連資訊會發送 RST 報文斷開請求,此時在WAF側出現狀態代碼為502的日誌資訊。

解決方案

調整雲產品接入的七層CLB 配置中的空閑長連線逾時時間,調整結果小於CLB的前向串連空閑逾時時間,比如調整為14秒。

image

情況三:URI 超長導致偶發502

詳細原因分析

7層CLB作為WAF流量轉寄後的下一跳,然而CLB的URI長度限制是32K,WAF請求的URI長度超過了CLB伺服器能夠解析的長度,因此CLB拒絕對該請求提供服務。CLB在日誌中記錄414狀態代碼,WAF返回502狀態代碼。

解決方案

縮短URI長度,如果資料量很大建議採用POST傳輸資料。

情況四:WAF回源多個四層CLB出現偶發502

當前網路架構

當前架構中通過反向 Proxy模式接入WAF並且回源到多個四層CLB,後端RealServer(RS)監聽相同連接埠同時掛載在多個四層CLB後面。

詳細原因分析

當一台Elastic Compute Service同時作為多個四層(TCP協議)負載平衡(CLB)執行個體的後端伺服器,且這些Server Load Balancer執行個體配置了相同的後端服務連接埠時,可能會出現以下情況:如果用戶端的請求被WAF叢集中同一個WAF執行個體節點回源到CLB,使用相同的WAF執行個體節點IP地址並發訪問這些Server Load Balancer執行個體的前端服務,部分串連可能會失敗或出現逾時現象。

情況1:五元組衝突,tcp串流

WAF叢集為多個CLB節點提供安全防護時,多個CLB節點的請求可能來自同一個WAF回源地址IP。

  1. 當WAF執行個體節點回源訪問CLB1時,(WIP:CPORT->VIP1:VPORT1)的串連在到達後端ECS的時候,會被轉換成(WIP:CPORT->DIP:DPORT)。

  2. 當WAF執行個體節點回源訪問CLB2時,(WIP:CPORT->VIP2:VPORT2)的串連在到達後端ECS的時候,也會被轉換成(WIP:CPORT->DIP:DPORT)。

  3. 由於兩條TCP串連的序號和狀態在後端伺服器上發生了衝突,導致串連建立失敗。具體來說,發起的兩條TCP串連在後端伺服器上被視為具有相同的五元組(TCP:WIP:CPORT:DIP:DPORT)。這種五元組的衝突可能導致SYN包被丟棄。

情況2:報文返回錯亂

在一個完整請求路徑中,發起請求的CLB節點與收到返回報文的CLB節點不一致。

  1. WAF回源SYN包走CLB2,五元組為WIP:CPORT->VIP1:VPORT1,在到達後端ECS2的時候,轉為WIP:CPORT->DIP:DPORT。

  2. 如果此時ECS2有TIME-WAIT串連,五元組是TCP:WIP:CPORT:DIP:DPORT,收到第一步的SYN報文,判斷SYN合法,回應SYN-ACK包。

  3. 因為ECS2掛載到多個SLB後,可能將SYN-ACK包回應到CLB1,如果CLB1上沒有該五元組的Session,CLB1會雙向Reset資料包,導致WAF返回502。

解決方案

方案1(推薦)

修改網路架構,比如使用多個7層CLB作為來源站點,避免多個不同4層負載平衡CLB節點將請求轉寄到相同後端服務的同一個連接埠。

方案2

將CLB遷移到NLB,在配置中關閉用戶端地址保持,可以解決五元組衝突的問題,後端服務部署proxyprotocol擷取真實用戶端IP,詳見通過Proxy Protocol功能擷取

image

操作步驟

  1. 登入網路型負載平衡NLB控制台在頂部功能表列,選擇NLB執行個體所屬的地區。

  2. 在左側導覽列,選擇網路型負載平衡 NLB > 伺服器組

  3. 選擇您的伺服器組,在操作列單擊編輯基本資料。在編輯基本資料彈窗中,關閉用戶端地址保持,並儲存本次編輯操作。

方案3(不推薦)

支援通過提交工單來開啟FULLNAT模式。當多個CLB執行個體將請求轉寄到同一個後端伺服器的相同連接埠時,FullNat通過修改源地址,使得每個連結的五元組變得唯一,避免了衝突。對CLB監聽開啟FULLNAT模式,避免五元組衝突的情況。

接入WAF後檔案上傳失敗

可能由於檔案上傳超過2GB的最大限制,目前WAF最大支援2GB的檔案上傳,當請求body超過2GB時,WAF會返回413狀態代碼,可以根據返回狀態代碼來判斷是否達到了檔案傳輸大小上限。

認證即將到期如何更新?

不同的接入方式更新方式不同:

雲產品接入後,來源站點可以擷取用戶端的真實IP嗎?

可以。WAF會向雲產品執行個體直接提供真實的用戶端IP。