全部產品
Search
文件中心

Edge Security Acceleration:修改出站回應標頭

更新時間:Jun 14, 2025

出站回應標頭是HTTP響應訊息頭的組成部分之一,可攜帶特定響應參數並傳遞給用戶端,用來控制緩衝行為。通過修改出站回應標頭,當使用者請求加速網域名稱下的資源時,DCDN返回的響應訊息會攜帶您配置的回應標頭,從而實現跨域訪問等特定功能。

背景資訊

HTTP回應標頭是HTTP協議中用於控制緩衝的一種機制。當用戶端請求一個資源時,DCDN節點返回給用戶端的HTTP回應標頭部資訊,它允許用戶端和DCDN節點在特定條件下緩衝響應內容。

說明
  • HTTP回應標頭的配置屬於網域名稱維度配置,一旦配置生效,便會對網域名稱下所有資源的響應訊息生效。

  • 配置HTTP回應標頭僅影響用戶端(例如瀏覽器)的響應行為,不影響DCDN節點的緩衝行為。泛網域名稱暫不支援修改出站回應標頭。

適用情境

  • 告知用戶端DCDN回應檔的資源類型:添加回應標頭Content-Type: text/html告知用戶端DCDN回應檔的格式是HTML格式。

  • 實現跨域資源訪問:當使用者請求DCDN上某個網域名稱的資源時,您可以在CDN返回的響應訊息中配置回應標頭Access-Control-Allow-Origin,以實現跨域訪問,請參考配置跨域資源共用

    另外,阿里雲DCDN還支援按照已配置CORS規則對接收到的使用者的跨域請求進行校正,以實現更靈活的跨域資源存取控制。

  • 自訂響應行為:添加或修改自訂頭部資訊,可以根據業務需求調整用戶端接收到的響應內容和格式,實現特定的功能或跟蹤目的。

注意事項

在添加了多條配置的情況下,配置的執行順序是按配置列表從上到下的順序逐條執行,因此需要注意對名稱相同的“HTTP回應標頭”的多個配置操作將會疊加,最終結果可能會與預期不符。例如:

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

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

以上兩個配置疊加的結果是配置2最終生效

操作步驟

  1. 登入DCDN控制台

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

  3. 域名管理頁面,單擊目標網域名稱對應的配置

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

  5. 修改出站回應標頭頁簽,單擊添加,根據下表中的參數含義設定自訂HTTP回應標頭。

    image.png

    參數

    說明

    回應標頭操作

    您可以增加、刪除、變更和替換指定的回應標頭。

    自訂回應標頭參數

    選擇自訂回應標頭參數。詳細資料,請參見回應標頭參數

    描述

    您自訂的HTTP頭的作用。

    自訂回應標頭名稱

    自訂回應標頭參數選擇為自訂時,需要配置自訂回應標頭名稱。自訂回應標頭名稱要求如下:

    • 由大小寫字母、短劃線(-)和數字組成。

    • 長度為1~100個字元。

    回應標頭值

    輸入您要設定的回應標頭值。詳細資料,請參見回應標頭參數

    是否允許重複

    • 允許:允許重複將會保留來源站點返回的頭,同時會加上一個同名的頭。

    • 不允許:如果不允許重複,來源站點返回的頭會被新配置的同名頭覆蓋。

    規則條件

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

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

    • 選擇已配置的規則條件,新增或修改規則條件請參見規則引擎

    跨域驗證

    跨域校正預設為關閉狀態,只有在回應標頭操作為“增加”,自訂回應標頭參數為“Access-Control-Allow-Origin”的時候才可以配置。

    • 開啟:開啟狀態下DCDN節點將按以下規則對使用者做跨域校正,並根據校正結果響應“Access-Control-Allow-Origin”的值。

    • 關閉:關閉狀態下DCDN節點不會校正使用者請求中攜帶的Origin頭,只會固定響應已配置的“Access-Control-Allow-Origin”值。

    跨域校正規則請參見跨域校正規則

  6. 單擊確定,完成配置。

    自訂HTTP回應標頭列表中,您也可以單擊修改删除,對當前配置的HTTP頭進行相應操作。

跨域校正規則

重要

是否允許重複跨域驗證這兩個配置項之間存在互斥,是否允許重複配置為允許的情況下,跨域校正將會失效。

  • 任意匹配:自訂回應標頭參數“Access-Control-Allow-Origin”的值設定為“*”不論使用者請求裡面是否攜帶“Origin”參數,也不論攜帶的“Origin”參數為何值,都固定返回“Access-Control-Allow-Origin:*”。

  • 精確匹配:自訂回應標頭參數“Access-Control-Allow-Origin”的值設定了單個或者多個值(多個值之間用“,”分隔)。

    • 如果使用者要求標頭裡攜帶的“Origin”參數值與被設定的任意一個值精確匹配,就會響應對應的跨域頭。

    • 如果都沒有精確匹配上,則不響應跨域頭。

  • 泛網域名稱匹配:自訂回應標頭參數“Access-Control-Allow-Origin”的值設定了泛網域名稱,則會校正要求標頭中Origin值是否能匹配上“Access-Control-Allow-Origin”的泛網域名稱。

配置樣本請參見配置跨域資源共用

回應標頭參數

回應標頭參數

說明

樣本

自訂

支援添加自訂回應標頭。自訂回應標頭名稱要求如下:

  • 由大小寫字母、短劃線和數字組成。

  • 長度為1~100個字元。

Test-Header

Content-Type

指定瀏覽器響應對象的內容類型。

text/html

Cache-Control

指定用戶端程式請求和響應遵循的緩衝機制。

no-cache

Content-Disposition

指定用戶端程式把請求所得的內容存為一個檔案時提供的預設的檔案名稱。

examplefile.txt

Content-Language

指定瀏覽器響應對象的語言。

en-US

Expires

指定瀏覽器響應對象的到期時間。

Wed, 21 Oct 2015 07:28:00 GMT

Pragma

Pragma HTTP 1.0是用於實現特定指令的回應標頭,具有通過請求和響應鏈實現各種效果的功能,可用於相容HTTP 1.1。

no-cache

Access-Control-Allow-Origin

指定允許的跨域請求的來源。填寫星號(*)表示全部網域名稱;您也可以填寫完整網域名稱,例如http://www.aliyun.com

說明
  • 回應標頭值支援配置為“*”,表示任意來源。

  • 回應標頭值非“*”的情況下,支援配置單個或者多個IP、網域名稱、或者IP和網域名稱混合。相互間用“,”分隔。

  • 回應標頭值非“*”的情況下,必須包含協議頭“http:// ”或者“https://”。

  • 回應標頭值支援攜帶連接埠。

  • 回應標頭值支援泛網域名稱。

  • *

  • http://www.aliyun.com

  • https://aliyun.com:8080,http://10.10.10.10

  • http://*.aliyun.com

Access-Control-Allow-Methods

指定允許的跨域要求方法。可同時設定多個方法,多個方法用英文逗號(,)分隔。

POST,GET

Access-Control-Allow-Headers

指定允許的跨域請求欄位。

X-Custom-Header

Access-Control-Max-Age

指定用戶端程式對特定資源的預請求返回結果的緩衝時間,單位為秒。

600

Access-Control-Expose-Headers

指定允許訪問的自訂頭資訊。

Content-Length

Access-Control-Request-Method

發出請求時前序用於預檢請求讓伺服器知道哪些HTTP方法在實際請求時將被使用。

POST

Access-Control-Request-Headers

發出請求時前序用於預檢請求讓伺服器知道哪些HTTP頭在實際請求時將被使用。

X-PINGOTHER

Access-Control-Allow-Credentials

該回應標頭表示是否允許用戶端攜帶驗證資訊。

  • 返回true:允許。

  • 返回其他值:不允許。

true

常見問題

為什麼已經配置了回應標頭Access-Control-Allow-Origin,但是訪問資源仍提示跨域問題,response header中沒有配置的回應標頭?

如果您在阿里雲DCDN中配置了回源回應標頭,如Access-Control-Allow-Origin等,但是在用戶端訪問資源時遇到跨域問題,並且在回應標頭(response header)中沒有看到這些配置的回應標頭,可能原因有以下幾點:

可能的原因

  1. 配置未生效或錯誤:可能是配置沒有正確設定或尚未生效,導致CDN沒有按照預期返回跨域回應標頭。

  2. DCDN緩衝:DCDN節點可能緩衝了舊的回應標頭資訊,這會導致即使您已更改配置,也仍然返回舊的頭資訊。

  3. 來源站點問題:如果您在DCDN上配置了跨域回應標頭,但是來源站點的響應中也包含了跨域回應標頭,並且這些回應標頭與DCDN的配置衝突,這可能會導致問題。在這種情況下,需要統一DCDN和來源站點的配置。

  4. 瀏覽器緩衝:瀏覽器可能緩衝了舊的響應,導致它並未發起新的請求以擷取更新後的回應標頭。

解決方案

  1. 驗證配置:確認DCDN配置已正確設定並且已經生效,特別是跨域相關的回應標頭設定。

  2. 清除DCDN緩衝:您可以使用DCDN的重新整理功能清空已緩衝的內容,然後再次訪問資源。具體請參見重新整理和預熱資源

  3. 檢查來源站點設定:確認來源站點不會返回與DCDN配置衝突的跨域回應標頭。建議將來源站點回源回應標頭與節點回應標頭中的跨域頭設定為一致,如果配置不一致,可能會導致衝突。

  4. 清除瀏覽器緩衝:清空瀏覽器緩衝,或使用無痕(隱私)模式測試,確保瀏覽器擷取最新的回應標頭。

  5. 聯絡支援人員:如果您嘗試了上述所有方法,但問題仍然存在,可能是CDN服務方面的問題。請聯絡阿里雲DCDN的支援人員或提交工單尋求協助。