阿里雲DCDN預設支援攜帶一些例如用戶端IP地址的要求標頭,也支援自訂配置。如果您需要改寫使用者回源請求中的HTTP Header,可以通過配置回源HTTP要求標頭實現,支援增加、刪除、變更或替換回源HTTP要求標頭,滿足更多實際業務需求。
前提條件
預設不對外提供該功能,需提交工單申請對需要使用該功能的網域名稱開啟使用許可權。
背景資訊
HTTP要求標頭是HTTP的請求訊息頭的組成部分之一,可攜帶特定請求參數資訊並傳遞給伺服器。
當DCDN節點請求回來源站點拉取資源時,來源站點可擷取到回源要求標頭中攜帶的資訊。您可以通過該功能,改寫使用者回源請求中的HTTP Header資訊,攜帶特定的參數資訊給來源站點,實現特定業務需求。例如,通過X-Forwarded-For頭部攜帶真實用戶端IP至來源站點。
來源站點伺服器通過使用者回源請求中攜帶的X-Forwarded-For頭部擷取用戶端真實IP的方式,請參見擷取用戶端真實IP。
注意事項
回源請求指使用者請求中通過DCDN回源的HTTP訊息。回源HTTP要求標頭配置只會影響通過DCDN回源的HTTP訊息,對於DCDN節點直接響應給使用者的HTTP訊息不做修改。
不支援對泛網域名稱配置回源HTTP要求標頭。
阿里雲DCDN預設支援攜帶以下HTTP要求標頭回源,您無需額外配置。
回源HTTP Header
說明
樣本
Ali-Cdn-Real-Port
用戶端與DCDN節點建連時使用的真實連接埠。
Ali-Cdn-Real-Port:80
Ali-Cdn-Real-Ip
用戶端與DCDN節點建連時使用的真實IP。
Ali-Cdn-Real-Ip:192.168.0.1
X-Forwarded-For
用戶端請求經過DCDN節點回源的整個鏈路上,包括用戶端和CDN節點的IP資訊。
X-Forwarded-For:192.168.0.1, 172.16.0.1
X-Client-Scheme
用戶端發送到DCDN節點的應用程式層請求使用的協議,例如:HTTP、HTTPS。
X-Client-Scheme:http
Host
用戶端請求在回源時實際訪問的來源站點Web網站網域名稱。
Host:example.com
Via
用戶端請求經過的所有DCDN節點的名稱。
Via:cn2546-10.l1, cache1.cn2546-10, l2cn2547-7.l2, cache1.l2cn2547-7
回源HTTP要求標頭的值如果配置的是某個變數,那麼實際使用的時候會被設定為具體的變數值,以下為可以使用的變數。
回源HTTP Header
說明
$http_Ali_Cdn_Real_Port
在回源頭裡面添加用戶端真實連接埠資訊,向來源站點傳遞用戶端連接埠資訊。
$http_Ali_Cdn_Real_Ip
在回源頭裡面添加用戶端真實IP資訊,向來源站點傳遞用戶端IP地址資訊。
$proxy_add_x_forwarded_for
在回源頭裡面添加X-Forwarded-For資訊,向來源站點傳遞用戶端IP和中間的Proxy 伺服器IP。
操作步驟
登入DCDN控制台。
在左側導覽列,單擊域名管理。
在域名管理頁面,找到目標網域名稱,單擊操作列的配置。
在指定網域名稱的左側導覽列,單擊回源配置。
單擊修改出站要求標頭。
在修改出站要求標頭頁簽,單擊添加。
配置回源HTTP要求標頭資訊。
重要當不同的操作方式同時作用於同一個回源要求標頭參數的時候,將會存在操作衝突的情況。此時按照操作類型的優先順序來執行,優先順序順序為。例如:當增加和刪除操作同時作用於同一個參數時,會先增加,再刪除。
單擊確定。