全部產品
Search
文件中心

CDN:忽略參數

更新時間:Jun 04, 2026

開啟忽略參數後,CDN 節點會去除請求 URL 參數(? 之後的部分),使不同參數的請求命中同一緩衝,從而提高快取命中率。本文介紹忽略參數的配置方法、功能對比以及常見問題排查。

功能對比與選擇

  • 自訂Cache Key與忽略參數存在衝突:開啟忽略參數後,節點會去除URL中?之後的參數,導致自訂Cache Key中的請求參數配置失效。使用自訂Cache Key前,請關閉忽略參數。

  • 自訂Cache Key可替代忽略參數的緩衝鍵配置,且功能更全面,推薦優先使用。配置對比:

    情境

    忽略參數配置

    自訂Cache Key配置

    在緩衝鍵中忽略所有請求參數

    忽略參數設定為是,保留指定參數留空

    添加一條請求參數處理策略:

    • 操作方式:保留

    • 參數名:設為任意不存在的參數名,例如 example-argument

    在緩衝鍵中僅保留請求參數key1

    忽略參數設定為是,保留指定參數設定為key1

    添加一條請求參數處理策略:

    • 操作方式:保留

    • 參數名:key1

    在緩衝鍵中僅刪除請求參數key1

    刪除指定參數設定為key1

    添加一條請求參數處理策略:

    • 操作方式:刪除

    • 參數名:key1

  • 重寫回源參數可替代忽略參數的回源參數重寫,且功能更全面,推薦優先使用。

功能介紹

忽略參數

作用

適用情境

去除請求 URL 參數(? 之後的部分),使攜帶不同參數的請求命中同一快取檔案,提高快取命中率、減少回源次數。

當 URL 參數與資源內容無關(如使用者 UID、渠道來源、推薦碼等),建議開啟忽略參數。例如,以下兩個請求訪問同一資源但攜帶不同 UID:

A 使用者:http://example.com/1.jpg?uid=123***

B 使用者:http://example.com/1.jpg?uid=654***

未開啟忽略參數時,CDN 節點會將 A、B 使用者的 URL 視為不同資源,無法命中同一緩衝,每次都需回源。開啟忽略參數後,CDN 節點會去除 URL 參數,統一使用 http://example.com/1.jpg 匹配緩衝。

說明

配置URL鑒權的優先順序高於忽略參數。鑒權方式A的鑒權資訊包含URL參數部分,CDN會先完成鑒權判斷,通過後再快取複本。

保留回源參數

作用

適用情境

回源時保留原始 URL 全部參數,確保來源站點能接收到使用者的關鍵資訊。

開啟忽略參數後,CDN 節點預設使用去除參數後的 URL 回源。以上述樣本為例,A、B 使用者的回源請求都使用 http://example.com/1.jpg,UID 等關鍵資訊會丟失。開啟保留回源參數後,CDN 節點將使用原始 URL 回源,確保 UID 等參數傳遞給來源站點。

操作步驟

  1. 登入CDN控制台

  2. 在左側導覽列,單擊域名管理

  3. 在網域名稱列表單擊目標網域名稱,在左側導覽列,單擊性能优化,進入效能最佳化配置頁面。

  4. 單擊忽略參數地區的修改配置,根據實際需求選擇模式並完成配置。

  5. 配置完成後,單擊確定儲存。

重要
  • 切換模式後,原有配置將被清除。

  • 修改忽略參數配置後,邊緣節點上已緩衝的檔案不會自動更新。必須通過控制台執行URL 重新整理目錄重新整理,才能使新配置生效並清除舊緩衝。否則,使用者可能仍會訪問到使用舊緩衝策略緩衝的內容,導致訪問異常。

模式:保留指定參數

參數

說明

樣本

忽略参数

  • :開啟忽略參數,去除URL中?之後的參數。

    說明

    僅開啟忽略參數而未設定保留指定參數時,將去除?之後的所有參數。

  • :關閉忽略參數,保留所有URL參數。

假設原始URL為http://example.com/1.jpg?key1=1&key2=2&key3=3,各配置的處理結果如下:

  • 樣本一,忽略所有參數,不保留回源參數

    • 配置:忽略參數=保留指定參數留空,保留回源參數=

    • 緩衝key:http://example.com/1.jpg

    • 回源URL:http://example.com/1.jpg

  • 樣本二,保留指定參數,不保留回源參數

    • 配置:忽略參數=保留指定參數=key1保留回源參數=

    • 緩衝key:http://example.com/1.jpg?key1=1

    • 回源URL:http://example.com/1.jpg?key1=1

  • 樣本三,忽略所有參數,保留回源參數

    • 配置:忽略參數=保留指定參數留空,保留回源參數=

    • 緩衝key:http://example.com/1.jpg

    • 回源URL:http://example.com/1.jpg?key1=1&key2=2&key3=3

  • 樣本四,保留指定參數,保留回源參數

    • 配置:忽略參數=保留指定參數=key1保留回源參數=

    • 緩衝key:http://example.com/1.jpg?key1=1

    • 回源URL:http://example.com/1.jpg?key1=1&key2=2&key3=3

保留指定參數

配置需要保留的參數名,最多10個,多個參數用英文逗號(,)分隔。

保留回源参数

  • 是:回源時保留原始URL中的所有參數。

  • 否:回源時僅攜帶與緩衝hashkey一致的參數(即保留指定的參數)。

規則條件

規則條件能夠對使用者請求中攜帶的各種參數資訊進行識別,以此來決定某個配置是否對該請求生效。

重要

引用規則條件時,按所關聯規則條件的優先順序匹配,而非按功能自身的配置順序匹配。

  • 不使用:不使用規則條件。

  • 若需新增或編輯規則條件,請在規則引擎中進行管理。

模式:刪除指定參數

參數

說明

樣本

刪除指定參數

配置需要刪除的參數名,最多10個,多個參數用空格分隔。

假設原始URL為http://example.com/1.jpg?key1=1&key2=2&key3=3,各配置的處理結果如下:

  • 樣本一,刪除指定參數,不保留回源參數

    • 配置:刪除指定參數=key1保留回源參數=

    • 緩衝key:http://example.com/1.jpg?key2=2&key3=3

    • 回源URL:http://example.com/1.jpg?key2=2&key3=3

  • 樣本二,刪除指定參數,保留回源參數

    • 配置:刪除指定參數=key1保留回源參數=

    • 緩衝key:http://example.com/1.jpg?key2=2&key3=3

    • 回源URL:http://example.com/1.jpg?key1=1&key2=2&key3=3

保留回源参数

  • 是:回源時保留原始URL中的所有參數。

  • 否:回源時僅攜帶與緩衝hashkey一致的參數(即刪除指定參數後的結果)。

規則條件

規則條件能夠對使用者請求中攜帶的各種參數資訊進行識別,以此來決定某個配置是否對該請求生效。

重要

引用規則條件時,按所關聯規則條件的優先順序匹配,而非按功能自身的配置順序匹配。

  • 不使用:不使用規則條件。

  • 若需新增或編輯規則條件,請在規則引擎中進行管理。

常見問題

開啟忽略參數後出現業務異常,如何排查?

開啟忽略參數後,CDN 會將帶不同參數的請求視為同一資源進行緩衝。如果 URL 參數涉及以下類型,不應全域忽略:

  • 使用者身份標識(如 UID、Token、Session ID):忽略後會導致鑒權失敗或不同使用者資料串號。

  • 動態內容區分(如版本號碼 ?v=1、分頁頁碼 ?page=2):忽略後會導致返回錯誤的緩衝內容。

  • 來源站點處理指示(如 OSS 圖片處理參數 x-oss-process):忽略後會導致處理參數失效,返回未處理的原始資源。

排查與解決方案

  1. 刪除或關閉忽略參數的配置。

  2. 配置修改後,執行緩衝重新整理操作(URL 重新整理或目錄重新整理),清除邊緣節點的舊緩衝。

  3. 如果部分參數需要保留,可使用保留指定參數模式,將關鍵參數(如 x-oss-processtoken 等)設定為保留。

修改忽略參數配置後,為什麼功能未生效?

修改忽略參數配置後,邊緣節點上已緩衝的檔案不會自動更新。如果配置後仍出現訪問異常或回源流量未降低,請按以下步驟排查:

  1. 確認配置已儲存:登入 CDN 控制台,重新進入忽略參數配置頁面,確認當前配置狀態與預期一致。

  2. 檢查是否與自訂 Cache Key 衝突:忽略參數與自訂 Cache Key 功能不可共存。開啟忽略參數後,自訂 Cache Key 的請求參數配置將失效。請確認兩者未同時啟用。

  3. 執行緩衝重新整理:配置修改後立即生效,但已緩衝的舊檔案仍使用舊策略。必須在重新整理和預熱資源頁面執行 URL 重新整理或目錄重新整理,清除舊緩衝後新配置才能完全生效。

  4. 驗證配置生效:使用 curl -I "完整URL" 命令檢查回應標頭 X-Cache 欄位,確認快取命中狀態是否符合預期。

使用 OSS 圖片處理或視頻截幀時,如何配置忽略參數?

當使用 OSS 圖片處理(如 x-oss-process=image/resize,w_200)或視頻截幀功能時,如果 CDN 網域名稱開啟了忽略參數,原圖/原視頻連結與帶處理參數的連結會被緩衝為同一份資源,導致訪問內容錯誤。

解決方案:在 CDN 控制台忽略參數配置,將 x-oss-process 參數設定為保留指定參數模式,使帶有圖片處理參數的 URL 能夠單獨緩衝,避免與原圖/原視頻緩衝衝突。

如何利用忽略參數應對通過 URL 參數繞過緩衝的請求?

當攻擊者或爬蟲通過添加隨機無意義參數(如 ?timestamp=xxx?random=xxx)請求同一資源時,CDN 會將每個帶不同參數的請求視為獨立資源,導致快取命中率降低和回源流量激增。

此時應開啟忽略參數功能(或配置忽略所有參數),使攜帶不同隨機參數的請求命中同一緩衝,從而有效降低回源壓力。例如,配置忽略參數後,以下請求將命中同一緩衝:

  • http://example.com/page.html?t=123456

  • http://example.com/page.html?t=789012

  • http://example.com/page.html?random=abc

上述請求在開啟忽略參數後,統一使用 http://example.com/page.html 匹配緩衝,有效防禦通過 URL 參數繞過緩衝的攻擊行為。

為什麼開啟了忽略參數,但不同用戶端的快取命中狀態不一致(X-Cache 顯示 MISS)?

可能原因:

  1. URL 攜帶未忽略的動態鑒權參數:如 URL 帶有 auth_key 等鑒權參數,每次請求的鑒權值不同,即使開啟了忽略參數但未將其保留,CDN 仍會識別為不同資源。

  2. 首次訪問節點無緩衝:資源尚未緩衝到特定邊緣節點,首次訪問必然顯示 MISS。

  3. 用戶端要求標頭差異:如 Accept-EncodingUser-Agent 不同可能觸發多副本緩衝(如 Gzip 版本和非 Gzip 版本分別緩衝)。

  4. 與自訂Cache Key衝突,配置未生效。

排查方法:在用戶端執行 curl -I "完整URL",對比回應標頭 X-CacheX-Swift-CacheTime 確認緩衝狀態。

解決方案:確認忽略參數配置正確(已開啟且關鍵參數已設定為保留),並確保用戶端要求標頭策略一致。

灰階發布或版本更新時,如何通過 URL 參數控制 CDN 擷取最新資源?

若開啟了忽略參數,CDN 將無法通過 URL 參數(如 ?v=1?v=2)區分不同版本。建議採用以下方案:

  • 方案一(推薦):採用檔案版本化命名(如 style.v2.cssapp.v2.js)而非僅依賴查詢參數,以確保使用者擷取最新內容。

  • 方案二:在發布新版本時,主動調用 CDN重新整理介面清除舊緩衝。