條件來源站點功能可以與規則引擎功能實現配置聯動,根據指定規則(如 request header、query string parameter、path、client IP 等)來過濾使用者請求,並將合格請求回源到指定的來源站點地址。可以添加多個配置,實現不同規則條件下回源到不同的來源站點。
前提條件
在添加條件來源站點配置之前,需要先在規則引擎中建立規則條件。
注意事項
-
功能衝突:條件來源站點與進階回源互斥,只能二選一配置。
-
萬用字元支援:在規則引擎中,URI匹配值支援萬用字元
*(匹配任意多個字元)和?(匹配任意單個字元)。進階回源功能中的 Path 匹配僅支援精確值,不支援萬用字元。 -
規則優先順序與匹配順序:條件來源站點按所關聯規則條件的優先順序依次匹配,而非按功能自身的配置順序。命中某一條規則後不再繼續匹配。規則引擎中的規則條件優先順序由建立順序決定,越早建立的規則優先順序越高。若需調整匹配優先順序,需在規則引擎中刪除現有規則後,按期望的優先順序重新添加。
-
多重路徑配置技巧:在建立"包含"或"不包含"某路徑的規則時,可以在單條規則的匹配值中填寫多個路徑(支援多行或多值輸入),簡化配置。
-
規則數量限制:條件來源站點可引用的規則條件數量受規則引擎全域限制。單個網域名稱下所有功能(包括條件來源站點、進階回源、Referer 防盜鏈等)對規則條件的總引用次數最大不超過 5 次。在多來源站點複雜情境下,若超出該限制會導致配置失敗。建議合理規劃規則數量,或在來源站點過多時考慮使用獨立網域名稱分別加速。
來源站點為OSS時的注意事項
-
若來源站點為OSS,需要添加該來源站點地址到域名管理 > 基本配置 > 源站信息中,並且將來源站點類型設定為OSS網域名稱,以便CDN與OSS正常鑒權。
-
多 OSS 來源站點情境:當配置多個 OSS 來源站點時,必須為每個來源站點配置指定來源站點回源HOST,且 Host 值需與對應的 OSS Bucket 網域名稱完全一致(例如
dev-3mir.oss-cn-guangzhou.aliyuncs.com)。若未正確配置或依賴預設回源 Host,請求可能隨機回源至錯誤的 Bucket,導致 403 SignatureDoesNotMatch(簽名驗證失敗)或 404 Not Found 錯誤。每條條件回源規則(包括匹配規則和不匹配/兜底規則)都需要明確綁定對應的來源站點和回源 Host。建議在配置多個來源站點時,將基礎來源站點的權重設定為一致,並為每個條件來源站點配置獨立的規則條件,以確保回源路徑可控。
條件來源站點與基礎來源站點、進階回源的區別
條件來源站點和進階回源均可引用規則引擎中配置的規則條件,從而實現更靈活的回源策略。CDN 根據請求是否命中規則條件,自動選擇對應的來源站點:
|
來源站點類型 |
觸發條件 |
|
條件來源站點 |
請求命中條件來源站點引用的規則條件 |
|
進階回源 |
請求命中進階回源引用的規則條件 |
|
基礎來源站點 |
請求未命中任何條件來源站點 / 進階回源規則(預設兜底) |
操作步驟
樣本:/api/* 地址訪問 FC 服務,其他地址訪問 OSS 服務
進階回源僅支援精確值匹配,不支援萬用字元或Regex。要實現的路徑級回源,可以使用條件來源站點與規則引擎。通過條件來源站點功能結合規則引擎和 URL 重寫,可以實現將 /api/* 路徑的請求路由到Function Compute(FC)來源站點,其他請求預設回源到 OSS 來源站點。
建立規則引擎規則
-
登入CDN控制台,在域名管理頁面找到目標網域名稱,單擊操作列的管理,在左側導覽列單擊規則引擎。
-
單擊添加規則,輸入規則名稱,在規則內容地區單擊加號表徵圖添加匹配條件,按下表配置:
配置項
值
規則名稱
自訂名稱,如
api-to-fc,便於後續識別匹配類型
URI
匹配運算子
包含其中任意一個
匹配值
單擊編輯,輸入
*/api/*後按斷行符號添加。支援萬用字元*和?,單條規則最多支援32個匹配值。區分大小寫
不勾選(預設,即忽略大小寫)
重要不要添加 hostname 條件。hostname 匹配的是請求網域名稱而非來源站點,添加 hostname 條件可能導致規則無法匹配 URL 重寫後的路徑。
-
單擊提交,儲存規則。
配置條件來源站點
-
在目標網域名稱的管理頁左側導覽列,單擊基本配置,在源站信息地區,單擊條件源站後的展開配置條件來源站點。
-
單擊新增條件來源站點,在對話方塊中按下表配置:
配置項
值
規則條件
在下拉式清單中選擇步驟一建立的規則(如
api-to-fc)來源站點地址
輸入Function Compute(FC)的來源站點地址
-
單擊確定,完成配置。
配置回源 HOST
-
在目標網域名稱的管理頁左側導覽列,進入回源配置 > 配置 Tab,在指定來源站點回源HOST地區,單擊添加。
-
在指定來源站點HOST對話方塊中,按下表配置:
配置項
配置值
來源站點類型
自訂來源站。條件來源站點中配置的來源站點地址不會出現在基礎來源站點地址的下拉式清單中,需選擇自訂來源站後手動輸入。
來源站點地址
輸入步驟二中填寫的 FC 來源站點地址
回源HOST類型
自訂回源HOST
回源HOST
填寫 FC 服務的網域名稱(如
your-fc-function.cn-hangzhou.fcapp.run)規則條件
(可選)選擇步驟一建立的規則條件(如
api-to-fc) -
單擊確定,完成配置。
無需關閉預設回源HOST。當同一來源站點同時存在預設回源 HOST 配置和指定來源站點回源 HOST 配置時,以指定來源站點回源 HOST 配置優先生效;其他未單獨指定回源 HOST 的來源站點,預設回源 HOST 仍繼續生效。
配置 URL 重寫(可選)
如果業務需要將 /api/ 路徑重寫為 FC 上的 /print/api/ 路徑,需配合 CDN 的 URL 重寫功能進行配置:
-
在規則引擎中配置 URL 重寫規則,將
/api/重寫為/print/api/。 -
確保步驟一中規則引擎的 URI 匹配條件能覆蓋重寫後的路徑(如使用
*/api/*或具體匹配/print/api/*)。
完成以上配置後,前端請求 /api/* 時將路由至 FC 服務,其他請求預設回源至 OSS。
樣本:基於 Referer 的條件回源
以下樣本將根據訪問來源(Referer)將請求路由到不同的來源站點,適用於圖片防盜鏈或來源控制的情境。
建立 Referer 規則條件
-
登入 CDN 控制台,在域名管理頁面單擊目標網域名稱操作列的管理,在左側導覽列單擊規則引擎。
-
單擊添加規則,在規則內容地區單擊加號表徵圖添加匹配條件,按下表配置。規則引擎的匹配類型中沒有獨立的 Referer 選項,需通過要求標頭匹配類型實現:
配置項
值
規則名稱
referer-routing(自訂,便於識別)匹配類型
要求標頭
參數名
Referer匹配運算子
包含其中任意一個
匹配值
單擊編輯,輸入目標來源網域名稱(如
example.com)。支援配置多個來源網域名稱。區分大小寫
不勾選(預設,即忽略大小寫)
-
單擊提交,儲存規則。
配置條件來源站點
-
在目標網域名稱的管理頁左側導覽列,單擊基本配置,在源站信息地區單擊條件源站後的展開配置條件來源站點。
-
單擊新增條件來源站點,在對話方塊中按下表配置:
配置項
值
規則條件
在下拉式清單中選擇
referer-routing來源站點地址
輸入 Referer 來源對應的專用來源站點地址
-
單擊確定,完成配置。
樣本:中國內地和非中國內地使用者訪問不同的來源站點
以下樣本通過條件來源站點結合規則引擎實現地區分流。
-
登入 CDN 控制台,在域名管理頁面單擊目標網域名稱操作列的管理,在左側導覽列單擊規則引擎,單擊添加規則。
-
配置中國內地規則:在規則內容地區單擊加號表徵圖添加匹配條件,匹配類型選擇使用者IP地理位置,匹配運算子選擇包含其中任意一個,匹配值單擊編輯後在下拉式清單中選擇中國內地,提交儲存規則。
-
配置海外規則(兜底):另建一條規則,匹配類型選擇使用者IP地理位置,匹配運算子選擇不包含其中任意一個,匹配值選擇中國內地,提交儲存規則。
-
配置條件來源站點:在基本配置的源站信息地區,分別為兩個規則關聯對應的來源站點:
-
中國內地規則關聯國內來源站點(如國內 OSS Bucket 或國內伺服器)。
-
非中國內地(海外)規則關聯海外來源站點(如海外 OSS Bucket 或海外伺服器)。
-
-
配置回源 Host:為每個來源站點分別配置指定回源 Host,確保 Host 值與對應來源站點網域名稱一致。
-
在目標網域名稱的管理頁左側導覽列,進入回源配置 > 配置 Tab,在指定來源站點回源HOST地區,單擊添加。
-
在指定來源站點HOST對話方塊中,按下表配置,為國內來源站點和海外來源站點各添加一條:
配置項
配置值
來源站點類型
自訂來源站。條件來源站點中配置的來源站點地址不會出現在基礎來源站點地址的下拉式清單中,需選擇自訂來源站後手動輸入。若該來源站點地址已添加到基本配置的來源站點資訊中(如 OSS 來源站點),也可選擇基礎來源站點地址後從下拉式清單選擇。
來源站點地址
輸入步驟 4 中條件來源站點關聯的來源站點地址(如國內或海外 OSS Bucket 網域名稱)
回源HOST類型
自訂回源HOST
回源HOST
填寫與該來源站點網域名稱一致的 HOST 值(如
bucket.oss-cn-hangzhou.aliyuncs.com)規則條件
選擇該來源站點對應的規則條件(如中國內地規則或海外規則)
-
單擊確定,完成配置。
說明無需關閉預設回源HOST。當同一來源站點同時存在預設回源 HOST 配置和指定來源站點回源 HOST 配置時,以指定來源站點回源 HOST 配置優先生效;其他未單獨指定回源 HOST 的來源站點,預設回源 HOST 仍繼續生效。
-
跨境最佳化建議
針對非中國內地使用者訪問中國內地來源站點延遲高或串連不穩定的情境,建議結合 OSS 傳輸加速最佳化跨境回源鏈路。配置方式如下:
-
中國內地使用者的條件來源站點回源至 OSS 普通公網網域名稱(如
bucket.oss-cn-hangzhou.aliyuncs.com)。 -
非中國內地使用者的條件來源站點回源至 OSS 傳輸加速網域名稱(如
bucket.oss-accelerate.aliyuncs.com)。
OSS 傳輸加速利用全球分布的加速節點最佳化跨境傳輸鏈路,可有效降低回源延遲。關於 OSS 傳輸加速的詳細說明,參見OSS 傳輸加速。