阿里雲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
操作步驟
登入CDN控制台。
在左側導覽列,單擊域名管理。
在域名管理頁面,找到目標網域名稱,單擊操作列的管理。
在指定網域名稱的左側導覽列,單擊回源配置。
單擊修改出站要求標頭頁簽。
單擊添加。
修改出站要求標頭資訊。
重要當不同的操作方式同時作用於同一個回源要求標頭參數時,會存在操作衝突。此時按照操作類型的優先順序來執行,優先順序順序為替換>增加>變更和刪除。例如,當增加和刪除操作同時作用於同一個參數時,會先增加再刪除。
增加要求標頭參數
刪除要求標頭參數
變更要求標頭參數
替換要求標頭參數
單擊確定。



