全部產品
Search
文件中心

CDN:修改入站回應標頭

更新時間:Sep 01, 2026

當CDN節點上的緩衝到期或者沒有命中緩衝時,CDN節點會向來源站點發起請求來擷取最新內容,來源站點返回的內容以及相關的HTTP頭部資訊就是回源回應標頭。您可以通過調整來源站點修改入站回應標頭,來設定緩衝策略、跨域資源共用等,從而最佳化網站的載入速度、增強Alibaba Content Security Service性、控制資源可訪問性,並提高使用者體驗。

背景資訊

HTTP回應標頭是HTTP的響應訊息頭的組成部分之一,可攜帶特定響應參數資訊並傳遞給用戶端。

當CDN節點上沒有緩衝使用者請求的內容時,CDN會回來源站點拉取資源,來源站點收到CDN的請求後會給出響應。為了便於使用者識別來源站點的響應資訊,您可以修改入站回應標頭功能,改寫使用者來源站點響應報文中的HTTP Header資訊。例如,改寫回源回應標頭中Content-Type參數的值,然後再傳遞給用戶端,以確保用戶端解析正常(如果來源站點返回的Content-Type值有誤,用戶端直接解析將出現亂碼,因此需要在CDN上改寫)。

說明
  • 入站響應指來源站點收到CDN節點的請求後,返回給CDN節點的HTTP訊息。修改入站回應標頭配置只會影響來源站點響應給CDN節點的HTTP訊息,對於CDN節點直接響應給使用者的HTTP訊息不作修改。

  • 不支援對泛網域名稱修改入站回應標頭。

適用情境

以下是一些常見的情境和樣本:

  • 內容類型不正確:如果來源站點返回的內容類型(Content-Type)與實際內容不符,用戶端可能會無法正確解析。例如,一個HTML檔案被錯誤地標記為純文字。這時可以通過配置回源回應標頭來修正。

    樣本:將Content-Type: text/plain更改為Content-Type: text/html。

  • 緩衝策略控制:如果您需要對CDN緩衝策略進行更精細的控制,可以調整來源站點的回源回應標頭中的Cache-Control或Expires欄位。這有助於最佳化內容的更新頻率和快取命中率。

    樣本:將Cache-Control: max-age=3600更改為Cache-Control: max-age=86400,以延長緩衝有效期間。CDN的預設緩衝規則具體請參見阿里雲CDN預設緩衝規則及優先順序。

  • 跨域資源共用(CORS):如果您希望允許其他網域名稱的Web應用訪問CDN上託管的資源,則需要在來源站點設定Access-Control-Allow-Origin和其他相關的CORS頭。這些設定確保在瀏覽器執行跨域請求時,CDN能夠提供適當的回應標頭給用戶端,避免CORS錯誤。關於跨域訪問問題,您可以參見配置跨域資源共用。

    樣本:

    • Access-Control-Allow-Origin: *:允許所有網域名稱進行跨域資源請求。

    • Access-Control-Allow-Methods: GET, POST, OPTIONS:指定允許跨域請求的HTTP方法。

  • 壓縮傳輸:如果來源站點支援壓縮傳輸但沒有啟用,或者使用的壓縮演算法不是最有效,可以通過設定回源回應標頭中的Accept-Encoding來讓來源站點使用最優的壓縮方式。

    樣本:將Accept-Encoding: gzip, deflate更改為Accept-Encoding: br,以優先使用Brotli壓縮。關於Brotli壓縮相關內容具體請參見Brotli壓縮。

  • 重新導向:當來源站點需要重新導向使用者到另一個URL時,回源回應標頭可以設定正確的重新導向回應標頭。關於重新導向具體請參見配置回源301/302跟隨。

    樣本:Location: https://www.example.com/new-page.html:通知CDN及使用者瀏覽器新的資源位置,用於301或302重新導向。

  • 自訂回源行為:在某些情況下,來源站點可能需要提供一些自訂的頭部資訊給用戶端,以實現特定的功能或跟蹤目的,您可以通過配置回源回應標頭來添加這些自訂頭部。

注意事項

  • 在添加了多條配置的情況下,執行順序按配置列表從上到下,因此需要注意多個配置操作將會疊加,最終結果可能會與預期不符。以下例子中配置2最終生效:

    • 配置1:增加HTTP回應標頭:cache-control: max-age=3600

    • 配置2:增加HTTP回應標頭:cache-control: no-cache

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

操作步驟

  1. 登入CDN控制台。

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

  3. 在域名管理頁面,找到目標網域名稱,單擊操作列的管理。

  4. 在指定網域名稱的左側導覽列,單擊回源配置。

  5. 單擊修改入站回應標頭頁簽。

  6. 單擊添加。

  7. 修改入站回應標頭資訊。

    重要

    當不同的操作方式同時作用於同一個回源回應標頭參數時,會存在操作衝突。此時按照操作類型的優先順序來執行,優先順序順序為替换>增加>变更和删除。例如,當增加和刪除操作同時作用於同一個參數時,會先增加再刪除。

    增加回應標頭參數

    配置項

    樣本

    說明

    响应头操作

    增加

    在回源HTTP請求中增加指定的回應標頭參數。

    自定义响应头参数

    自訂回源回應標頭

    選擇自訂回源回應標頭或選擇已經預設好的回應標頭參數。

    自定义响应头名称

    x-code

    自訂回應標頭名稱為x-code。

    响应头值

    key1

    一個回應標頭參數中可以配置多個值,多個值用英文逗號(,)分隔。

    key1,key2

    是否允许重复

    允許

    • 允许:可以添加重複的回應標頭參數。例如x-code:key1,x-code:key2。

    • 不允许:添加同一個回應標頭參數,新值將覆蓋舊值。例如先添加x-code:key1,再添加x-code:key2,最終的值為x-code:key2。

    規則條件

    不使用

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

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

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

    刪除回應標頭參數

    配置項

    樣本

    說明

    响应头操作

    刪除

    刪除所有與回應標頭參數名稱匹配的參數值,無論是否有重複的回應標頭參數。

    自定义响应头参数

    自訂回源回應標頭

    選擇自訂回源回應標頭或選擇已經預設好的回應標頭參數。

    自定义响应头名称

    x-code

    自訂回應標頭名稱為x-code。

    規則條件

    不使用

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

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

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

    變更回應標頭參數

    配置項

    樣本

    說明

    响应头操作

    變更

    當回應標頭參數不存在重複時,可以正常變更參數,如果有多個重複的回應標頭參數,則不允許變更。

    自定义响应头参数

    自訂回源回應標頭

    選擇自訂回源回應標頭或選擇已經預設好的回應標頭參數。

    自定义响应头名称

    x-code

    自訂回應標頭名稱為x-code。

    响应头变更为

    key1,key3

    一個回應標頭參數中可以配置多個值,多個值用英文逗號(,)分隔。

    規則條件

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

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

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

    替換回應標頭參數

    配置項

    樣本

    說明

    响应头操作

    替換值

    當回應標頭參數不存在重複時,可以正常替換參數,如果有多個重複的回應標頭參數,則不允許替換。

    自定义响应头参数

    自訂回源回應標頭

    選擇自訂回源回應標頭或選擇已經預設好的回應標頭參數。

    自定义响应头名称

    x-code

    自訂回應標頭名稱為x-code。

    查找

    key

    Regex尋找需要替換的參數值。

    替换为

    abc

    Regex替換需要替換的參數值。

    匹配

    匹配所有

    • 匹配所有:所有匹配上的值都會被替換。例如x-code:key1,key2,key3,正則匹配值key替換為abc,替換後的結果為x-code:abc1,abc2,abc3。

    • 仅匹配第一个:只有第一個匹配上的值會被替換。例如x-code:key1,key2,key3,正則匹配值key替換為abc,替換後的結果為x-code:abc1,key2,key3。

    規則條件

    -

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

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

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

  8. 單擊確定。

預設預設回應標頭

阿里雲CDN預設預設了Cache-Control、Content-Type、Expires、Last-Modified四個修改入站回應標頭,這四個回應標頭是HTTP協議中的重要組成部分,它們分別用於控制緩衝、定義內容類型、設定到期時間以及記錄資源的最後修改時間。

CDN預設預設回應標頭

說明

樣本

Cache-Control

用於控制資源在CDN緩衝中的行為和時間周期的頭資訊。它為CDN節點和用戶端瀏覽器提供了緩衝指示,例如何時緩衝內容、緩衝多久,以及緩衝的內容何時被認為是過時的。優先順序高於舊的Expires頭部。

  • Cache-Control: no-cache強制在使用緩衝的資源之前總是向來源站點進行驗證。

  • Cache-Control: max-age=3600指示資源在3600秒(1小時)內是新鮮的,可以從CDN緩衝中提供,無需回源。

Content-Type

描述了返回給用戶端的資源的資料類型。它協助用戶端正確地解釋和顯示接收到的資料。CDN使用這個頭資訊來處理對應的資料類型以及如何傳輸它們。

  • Content-Type: text/html表示發送的內容是HTML格式。

  • Content-Type: image/jpeg表示資源是JPEG映像格式。

Expires

提供了一個具體的日期/時間,這個時間點之後資源被認為是到期的。CDN使用這個頭來確定資源是否仍然有效,如果到期,CDN將回源請求新的資源。Expires回應標頭是一個相對古老的頭部,在HTTP/1.1中,Cache-Control頭部提供了更細粒度的控制,因此Expires的使用已經逐漸減少。

Expires: Thu, 01 Dec 2023 16:00:00 GMT指出在指定的GMT時間後,內容到期。

Last-Modified

表示資源最後一次被修改的時間。CDN和瀏覽器使用這個回應標頭來判斷自從該資源上次被緩衝後是否有被修改過。

Last-Modified: Wed, 21 Oct 2023 07:28:00 GMT顯示資源最後修改的時間。

配置樣本

樣本一:配置響應文檔屬於某種MIME類型

配置情境

如果您希望配置響應文檔屬於某種MIME類型。

說明

MIME類型主要包含以下幾類:

  • 文本類型:包括文字檔(例如.txt、.csv)和HTML檔案(例如.html、.htm、.shtml)。

  • 圖片類型:包括常見的圖片檔案(例如.jpg、.png、.gif)。

  • 音訊類型:包括音頻檔案(例如.mp3、.wav)。

  • 視頻類型:包括視頻檔案(例如.mp4、.avi)。

  • 應用程式類型:包括應用程式檔案(例如.pdf、.doc、.xls)。

配置方法

  • 回應標頭操作:增加

  • 自訂回應標頭名稱:Content-Type。

  • 回應標頭值:text/html。

    其中是否允許重複選擇不允許,規則條件選擇不使用,然後單擊確定。

結果說明:在來源站點發送給CDN節點的響應資訊中聲明內容類型為text/html,再次配置將覆蓋舊值。

樣本二:刪除回應標頭資訊

配置情境

如果您希望刪除回應標頭資訊。

配置方法

  • 回應標頭操作:刪除

  • 自訂回應標頭名稱:Content-Type。

    其中是否允許重複選擇不允許,規則條件選擇不使用,然後單擊確定。

結果說明:刪除要求標頭中的Content-Type資訊,然後返回給使用者。

說明

如果同時完成了樣本一和樣本二,那麼會先增加回應標頭Content-Type資訊(響應的內容屬於text/html類型),然後刪除該要求標頭,最終結果為:響應的資源沒有MIME類型限制,直接以最初的類型返回使用者。

常見問題

  • 排障類問題(跨域、亂碼、下載/預覽、Set-Cookie、JS MIME 類型等)請參見緩衝排障指南。

  • 諮詢類問題(來源站點 ACAO 檢查、video/mp4 精準配置、JS 檔案支援、檔案同步狀態等)請參見回源常見問題。