全部產品
Search
文件中心

CDN:修改出站要求標頭

更新時間:Jun 18, 2025

阿里雲CDN預設支援攜帶一些例如用戶端IP地址的要求標頭,也支援自訂配置。如果您需要改寫使用者回源請求中的HTTP Header,可以通過修改出站要求標頭實現,支援增加、刪除、變更或替換回源HTTP要求標頭,滿足更多實際業務需求。

背景資訊

HTTP要求標頭是HTTP的請求訊息頭的組成部分之一,可攜帶特定的請求參數資訊並傳遞給伺服器。

CDN節點請求回來源站點拉取資源時,來源站點可擷取到回源要求標頭中攜帶的資訊。您可以通過該功能,改寫使用者回源請求中的HTTP Header資訊,攜帶特定的參數資訊給來源站點,實現特定業務需求。例如,通過X-Forwarded-For頭部攜帶真實用戶端IP至來源站點。

來源站點伺服器通過使用者回源請求中攜帶的X-Forwarded-For頭部擷取用戶端真實IP的方式,請參見擷取用戶端真實IP

注意事項

  • 出站請求指使用者請求中通過CDN回源的HTTP訊息。修改出站要求標頭配置只會影響通過CDN回源的HTTP訊息,對於CDN節點直接響應給使用者的HTTP訊息不做修改。

  • 不支援對泛網域名稱修改出站要求標頭。

  • 阿里雲CDN預設支援攜帶以下HTTP要求標頭回源,您無需額外配置。

    回源HTTP Header

    說明

    樣本

    Ali-Cdn-Real-Ip

    用戶端與CDN節點建連時使用的真實IP。

    Ali-Cdn-Real-Ip:192.168.0.1

    X-Forwarded-For

    用戶端請求經過CDN節點回源的整個鏈路上,包括用戶端和CDN節點的IP資訊。

    X-Forwarded-For:192.168.0.1, 172.16.0.1

    X-Client-Scheme

    用戶端發送到CDN節點的應用程式層請求使用的協議,例如:HTTP、HTTPS。

    X-Client-Scheme:http

    Host

    用戶端請求在回源時實際訪問的來源站點Web網站網域名稱。

    Host:example.com

    Via

    用戶端請求經過的所有CDN節點的名稱。

    Via:cn2546-10.l1, cache1.cn2546-10, l2cn2547-7.l2, cache1.l2cn2547-7

  • 修改出站要求標頭的值如果配置的是某個變數,那麼實際使用的時候會被設定為具體的變數值,以下為可以使用的變數。

    名稱

    回源HTTP Header

    說明

    樣本

    Ali-Cdn-Real-Port

    $http_Ali_Cdn_Real_Port

    在回源頭裡面添加用戶端真實連接埠資訊,向來源站點傳遞用戶端連接埠資訊。

    Ali-Cdn-Real-Port:80

    Ali_Cdn_Real_Ip

    $http_Ali_Cdn_Real_Ip

    在回源頭裡面添加用戶端真實IP資訊,向來源站點傳遞用戶端IP地址資訊。

    Ali-Cdn-Real-Ip:192.168.0.1

    x_forwarded_for

    $proxy_add_x_forwarded_for

    在回源頭裡面添加X-Forwarded-For資訊,向來源站點傳遞用戶端IP和中間的Proxy 伺服器IP。

    X-Forwarded-For:192.168.0.1, 172.16.0.1

操作步驟

  1. 登入CDN控制台

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

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

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

  5. 單擊修改出站要求標頭頁簽。

  6. 單擊添加

  7. 修改出站要求標頭資訊。

    重要

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

    增加要求標頭參數

    HTTP要求標頭資訊

    配置項

    樣本

    說明

    请求头操作

    增加

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

    自定义请求头参数

    自訂回源要求標頭

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

    自定义请求头名称

    x-code

    自訂要求標頭名稱為x-code。

    请求头值

    key1, key2

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

    是否允许重复

    允許

    • 允许:可以添加重複的要求標頭參數。例如x-code:key1x-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. 單擊確定