全部產品
Search
文件中心

Edge Security Acceleration:自訂Cachekey

更新時間:Dec 23, 2025

開發人員可以根據使用者請求中的不同部分(例如查詢字串、HTTP要求標頭或者Cookie等)制定規則來產生自訂緩衝鍵(Cachekey),將訪問同一個檔案的一類請求轉化為統一的Cachekey,避免將同一類請求到同一檔案的不同副本,緩衝為不同檔案的問題,從而提高緩衝的命中率,減少請求的回應時間和頻寬消耗。

背景資訊

  • 自訂Cachekey功能不會修改回源的URL,僅會修改請求的緩衝標識,使回源請求與用戶端請求保持一致。

  • Cachekey是檔案在ESA節點上緩衝時的唯一身份ID,每個在ESA節點上緩衝的檔案都對應一個Cachekey。Cachekey預設為用戶端請求的完整URL(包含參數)。

注意事項

配置自訂Cachekey功能的時候,如果設定了HTTP要求標頭、Cookie、使用者特徵等參數,使用者將無法通過按URL重新整理緩衝功能來重新整理指定URL的快取檔案,這時候可以使用按自訂Cachekey重新整理緩衝功能來重新整理指定URL的快取檔案。

應用情境

情境一:統一Cachekey

客戶的不同請求URL中包含複雜的參數,因此,即使多個請求訪問的是同一個檔案,由於URL參數的差異,ESA節點會將這些不同的請求視為對不同檔案的訪問,並緩衝為多個檔案,進而導致回源請求的增加。

為此,您可以通過自訂Cachekey功能設定忽略查詢字串,將同一類請求的Cachekey進行統一,以降低回源率。

image

情境二:區分Cachekey

當用戶端請求的URL相同時,ESA會將其視為同一個檔案。然而,實際上請求的HTTP要求標頭中攜帶的client欄位能夠區分不同的用戶端系統,表明希望請求不同檔案。

此時,您可以通過自訂Cachekey功能根據用戶端類型產生不同的Cachekey,從而使兩個請求被識別為兩個不同的Cachekey。

image

操作步驟

新增規則後,當使用者發起資源訪問請求時,ESA將根據規則的生效優先順序依次進行匹配與執行。

  1. 在ESA控制台,選擇網站管理,在網站列單擊目標網站。

  2. 在左側導覽列,選擇規則 > 緩衝規則

  3. 單擊新增規則,填寫規則名稱

  4. 如果請求匹配以下規則...地區設定要匹配的使用者請求特徵,具體配置規則請參見規則運算式的組成

  5. 緩衝資格地區,選擇繞過緩衝規則符合緩衝條件

  6. 自訂Cachekey地區,單擊配置,設定以下參數。

    image

    參數

    說明

    對查詢字串排序

    是否開啟查詢字串排序功能。

    查詢字串

    設定去除請求URL中攜帶的?及其後面的查詢字串

    HTTP要求標頭

    • 包括這些標題名稱及其值:將指定的HTTP要求標頭名稱及其值加入Cachekey。

    • 檢查是否存在:檢查指定的HTTP要求標頭是否存在。如果存在,則將HTTP Header名稱加入Cachekey。

    Cookie

    • 包括這些Cookie名稱及其值:將指定的Cookie參數名稱及其值加入Cachekey。

    • 檢查是否存在:檢查指定的Cookie參數是否存在。如果存在,則將Cookie參數名稱加入Cachekey。

    使用者

    • 裝置類型:根據用戶端User-Agent資訊來識別用戶端類型,然後根據用戶端類型來產生Cachekey。

    • 省/地區:根據用戶端IP來識別用戶端所在的省/地區,然後根據省/地區來產生Cachekey。

    • 語言:根據用戶端請求中攜帶的Accept-Language資訊來識別用戶端語言,然後根據語言類型來產生Cachekey。

    緩衝欺騙防禦

    防禦Web緩衝欺騙攻擊的同時,允許對靜態內容進行緩衝。

  7. 單擊確定

配置樣本

樣本情境

  • 使用者請求URL:http://www.example.com/image.jpg?key123=321&key456=654

  • 使用者請求攜帶的要求標頭:

    • name123:321

    • name456:654

    • User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.X.X Safari/537.36

    • Accept-Language:zh-CN

  • 用戶端使用中國電信的IP地址來訪問。

功能配置

  • 查詢字串刪除參數key456

  • HTTP要求標頭

    • 包括這些標題名稱及其值name123

    • 檢查是否存在name456

  • 使用者裝置類型省/地區語言三個開關都開啟。

image

產生Cachekey

每個參數產生的Cachekey片段為:

  • http://www.example.com/image.jpg?key123=321

  • name123:321

  • name456

  • desktop

  • CN

  • Accept-Language:zh-CN

所以,實際拼接產生的Cachekey:http://example.com/image.jpg?key123=321name123:321name456desktopCNAccept-Language:zh-CN

相關文檔

規則相關的功能,在生效優先順序、可重新進入性、生效顆粒度上存在差異,詳細情況請查看規則相關功能的特性說明