全部產品
Search
文件中心

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

更新時間:Jan 21, 2026

邊緣安全加速 ESA節點的出站回應標頭是HTTP響應訊息頭的組成部分,用於攜帶並傳遞特定的響應參數給用戶端。通過配置ESA節點的出站回應標頭,可實現資源返回時的回應標頭控制。ESA支援對出站回應標頭規則進行新增、修改和刪除,以滿足更多實際業務需求。

功能介紹

當用戶端請求訪問資源時,請求首先到達ESA。如果未命中ESA節點的緩衝,將向來源站點發起回源請求以擷取資料。在來源站點返回資料後,ESA節點將根據您配置的回應標頭規則對原始響應進行修改(例如:添加、替換或刪除特定欄位),最終將包含回應標頭的完整資源返回給用戶端,以實現跨域存取控制、緩衝策略最佳化等業務需求。

image

應用情境

  • 告知用戶端ESA回應檔的資源類型:如添加回應標頭Content-Type: text/html,以明確告知用戶端ESA回應檔的格式為HTML,並進行相應渲染處理。

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

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

注意事項

在添加了多條配置的情況下,配置的執行順序是按配置列表從上到下的順序逐條執行,回應標頭名稱相同的配置將被後續配置覆蓋,因此最終結果可能與預期不符。

樣本一

  • 響應資訊裡面攜帶了一個回應標頭test:123

  • 規則裡面新增了一個回應標頭test:321

響應資訊命中規則的情況下,執行結果是原始響應裡面的回應標頭test:123被覆蓋為test:321

樣本二

  • 響應資訊裡面攜帶了一個回應標頭test:123

  • 規則裡面新增了一個回應標頭test:321,然後又配置了一條規則是刪除回應標頭test

響應資訊命中規則的情況下,執行結果是原始響應裡面的回應標頭test:123被刪除。

操作步驟

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

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

  2. 在左側導覽列,選擇規則 > 轉換規則

  3. 選擇修改回應標頭頁簽,單擊ESA到用戶端項,單擊新增規則image

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

  5. 修改回應標頭地區,選擇操作方式,寫入回應標頭名稱回應標頭值後單擊確定

    操作方式

    類型

    說明

    樣本

    添加

    靜態

    • 在返回用戶端的響應中添加指定回應標頭。

    • 如果用戶端中的回應標頭已包含同名回應標頭,則新添加的回應標頭將覆蓋該同名回應標頭。

    增加名稱為x-code,值為key1的回應標頭,請填寫:

    • 回應標頭名稱x-code

    • 回應標頭值key1

    動態

    回應標頭值支援設定為一個運算式

    增加名稱為Client-Ip-Geo-Location,值為ip.geoip.country的回應標頭,用於記錄用戶端IP歸屬的地理位置對應的國家或地區,請填寫:

    • 回應標頭名稱Client-Ip-Geo-Location

    • 回應標頭值ip.geoip.country

    變更

    靜態

    在返回用戶端的響應中變更指定回應標頭的值。

    修改名稱為x-code的回應標頭,值為key2,請填寫:

    • 回應標頭名稱x-code

    • 回應標頭值key2

    動態

    回應標頭值支援設定為一個運算式

    修改名稱為Client-Ip-Geo-Location的回應標頭,值為ip.geoip.country,將回應標頭值變更為用戶端IP歸屬的地理位置對應的國家或地區,請填寫:

    • 回應標頭名稱Client-Ip-Geo-Location

    • 回應標頭值ip.geoip.country

    刪除

    在返回用戶端的響應中刪除所有與回應標頭名稱匹配的參數值,無論是否有重複的回應標頭參數。

    刪除名稱為x-code的回應標頭,請填寫回應標頭名稱x-code

    說明
    • 禁止配置以ali-inner或者ali-swift開頭的回應標頭名稱

    • 回應標頭值中可以配置多個值,用英文逗號,分隔。

    • 刪除操作不區分靜態模式和動態模式,效果一致。

    • 變更是對已存在的回應標頭做修改,僅在原始回應標頭中存在對應名稱的回應標頭時,變更操作才會生效。

配置樣本:開啟跨域資源共用

說明

若使用OSS作為來源站點,OSS與ESA控制台同時配置CORS,ESA的配置將覆蓋OSS的跨網域設定

針對所有請求生效

情境描述

允許當前網站(如example.com)下的所有請求均可跨域訪問任意地址上的資源。

配置步驟

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

  2. 在左側導覽列,選擇規則 > 轉換規則,在轉換規則頁面選擇修改回應標頭頁簽,選擇回應標頭位置為ESA到用戶端,單擊新增規則按鈕。image

  3. 新增修改回應標頭規則頁面根據業務需求填寫相關欄位。可參考以下填寫:

    1. 規則名稱:填寫自訂規則名稱,如rule-cors-for-all

    2. 如果請求匹配以下規則...:設定規則條件,用於匹配和過濾用戶端請求。本例中選擇所有傳入請求即可。

    3. 則執行…:設定修改回應標頭的規則執行動作,本例中填寫:

      • 類型:選擇靜態

      • 操作方式:選擇添加

      • 回應標頭名稱:輸入Access-Control-Allow-Origin

      • 回應標頭值:輸入*

    image

配置效果

在進行任意跨域請求時,ESA都會在回應標頭中增加Access-Control-Allow-Origin:*,瀏覽器即可成功響應並展示跨域資源。

image

針對指定請求生效

情境描述

針對用戶端請求中攜帶的origin標題的值包含網域名稱example.com下的任意子網域名稱,並且同時支援http協議和https協議,例如以下情況都允許跨域訪問資源:

  • origin:http://www.example.com

  • origin:https://www.example.com

  • origin:http://image.example.com

  • origin:https://image.example.com

在響應中添加CORS頭,CORS回應標頭內容與要求標頭中的origin一致。

配置步驟

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

  2. 在左側導覽列,選擇規則 > 轉換規則,在轉換規則頁面選擇修改回應標頭頁簽,選擇回應標頭位置為ESA到用戶端,單擊新增規則按鈕。image

  3. 新增修改回應標頭規則頁面參考以下填寫:

    1. 規則名稱:填寫自訂規則名稱,如rule-cors-origin

    2. 如果請求匹配以下規則...:設定規則條件,用於匹配和過濾用戶端請求,只對滿足特定條件的請求執行添加回應標頭的操作。本例中填寫標題 origin的值 與Regex匹配 ^https?://(?:[a-zA-Z0-9](?:[a-zA-Z0-9\-]*[a-zA-Z0-9])?\.)+example\.com$

      也可直接編輯運算式如下:(http.request.headers["origin"] matches "^https?://(?:[a-zA-Z0-9](?:[a-zA-Z0-9\-]*[a-zA-Z0-9])?\.)+example\.com$")
      說明

      若您的套餐不支援使用Regex匹配,可以使用運算子等於其中任意一個來匹配,並枚舉出允許跨域的origin標題值。

      也可直接編輯運算式如下:(http.request.headers["origin"] in {"http://www.example.com" "https://www.example.com" "http://image.example.com" "https://image.example.com"})

      image

    3. 則執行…:設定修改回應標頭的規則執行動作,本例中填寫:

      • 類型:選擇動態

      • 操作方式:選擇添加

      • 回應標頭名稱:輸入Access-Control-Allow-Origin

      • 回應標頭值:輸入http.request.headers["origin"]

    image

配置效果

在進行跨域請求時,請求中的origin頭符合規則時,則ESA將在回應標頭中增加Access-Control-Allow-Origin標題,標題值內容與用戶端請求中攜帶的Origin標題的值相同,瀏覽器即可成展示跨域資源。

image

回應標頭參數說明

回應標頭參數

說明

樣本

自訂

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

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

  • 長度為1~100個字元。

Test-Header

Cache-Control

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

no-cache

Content-Disposition

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

examplefile.txt

Content-Type

指定用戶端程式響應對象的內容類型。

text/plain

Pragma

Pragma 是一個在 HTTP/1.0 中規定的通用首部,這個首部通常用於在伺服器的響應中定義用戶端對檔案的緩衝行為。

no-cache

Access-Control-Allow-Origin

指定哪些源可以訪問資源。它是跨域資源共用(CORS,Cross-Origin Resource Sharing)機制的一部分,該機制允許伺服器聲明其資源是否可以被某個指定的源網域名稱訪問。該回應標頭的值支援以下類型:

  • 萬用字元 *:使用萬用字元表示允許任何源訪問資源。這種方式非常寬鬆,適用於那些公開無需認證或授權即可訪問的資源。不過,在生產環境中使用萬用字元時需要謹慎,因為它可能帶來安全風險,比如跨站請求偽造攻擊。

  • 單個指定源:你可以指定一個具體的源網域名稱,表示僅允許該特定源訪問資源。例如http://example.comhttps://api.example.com,這要求請求必須來自指定的源,否則將被拒絕。

  • *

  • http://www.aliyun.com

Access-Control-Allow-Methods

指定允許的跨域要求方法。多個方法用英文逗號,分隔。

POST,GET

Access-Control-Allow-Headers

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

X-Custom-Header

Access-Control-Expose-Headers

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

Content-Length

Access-Control-Allow-Credentials

該回應標頭指示是否允許將請求的響應暴露給頁面。

  • true:表示可以暴露。

  • 其他值:表示不可以暴露。

true

Access-Control-Max-Age

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

600

相關文檔

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