HTTP要求標頭是HTTP請求訊息的組成部分,用於攜帶特定的請求參數並傳遞給伺服器。通過配置回源HTTP要求標頭規則,可將特定參數傳遞給來源站點。邊緣安全加速 ESA支援對回源HTTP要求標頭規則進行新增、修改和刪除,以滿足更多實際業務需求。
功能介紹
當用戶端請求訪問資源時,請求首先到達ESA。如果未命中ESA節點的緩衝,ESA節點將攜帶出站HTTP要求標頭向來源站點發起回源請求擷取資料。可以根據業務需求對出站HTTP要求標頭進行調整:
注意事項
生效時機:本功能僅在請求未命中ESA節點緩衝,需要向來源站點伺服器請求內容時(即回源時)才會觸發。對於已命中緩衝並直接由ESA節點響應的請求,此規則不會執行。
執行順序:在同一條規則中,如果配置了多個操作,它們將按照從上到下的順序依次執行。如果存在對同名要求標頭的操作,後執行的操作結果會覆蓋先執行的操作結果。如在原始用戶端請求裡面攜帶了一個要求標頭
test:123,規則裡面新增了一個要求標頭test:321,然後又配置了一條規則是刪除要求標頭test。那麼在使用者請求命中規則的情況下,執行結果是原始請求裡面的要求標頭test:123被刪除。
操作步驟
新增規則後,當使用者發起資源訪問請求時,ESA將根據規則的生效優先順序依次進行匹配與執行。
在ESA控制台,選擇網站管理,在網站列單擊目標網站。
在左側導覽列,選擇。
單擊修改要求標頭頁簽,選擇ESA到來源站點項,單擊新增規則。

在新增修改要求標頭規則地區,填寫:
規則名稱:填寫自訂規則名稱
如果請求匹配以下規則...:選擇該規則將匹配的請求特徵。
所有傳入請求:表示該規則將應用於當前網站下的所有請求。
自訂規則:表示該規則僅應用於與自訂運算式匹配的流量。可以通過控制群組合配置自訂的流量篩選條件。
修改要求標頭:表示符合特徵的請求將執行的動作。
操作方式
類型
說明
樣本
添加
靜態
在回源請求中添加指定要求標頭。
如果用戶端請求中已經包含了同名要求標頭,則新添加的要求標頭將會覆蓋用戶端請求中的同名要求標頭。
增加名稱為
x-code,值為key1的要求標頭,請填寫:要求標頭名稱:
x-code要求標頭值:
key1
動態
要求標頭值支援設定為一個運算式。
增加名稱為
True-Client-IP,值為ip.src的要求標頭,用於記錄用戶端的真實IP地址,請填寫:要求標頭名稱:
True-Client-IP要求標頭值:
ip.src
變更
靜態
在回源請求中變更指定要求標頭的值。
修改回源請求中名稱為
x-code的要求標頭的值為key2,請填寫:要求標頭名稱:
x-code要求標頭值:
key2
動態
要求標頭值支援設定為一個運算式。
修改回源請求中名稱為
True-Client-IP的要求標頭,值為ip.src,將要求標頭的值變更為用戶端的真實IP地址,請填寫:要求標頭名稱:
True-Client-IP要求標頭值:
ip.src
刪除
在回源請求中刪除所有與要求標頭名稱匹配的參數值,無論是否有重複的要求標頭參數。
刪除名稱為
x-code的要求標頭,請填寫要求標頭名稱:x-code。
說明禁止配置以
ali-或者Ali-開頭的要求標頭名稱。要求標頭值中可以配置多個值,用英文逗號
,分隔。刪除操作不區分靜態模式和動態模式,效果一致。
變更是對已存在的要求標頭進行修改,僅在原始要求標頭中存在對應名稱的要求標頭時,變更操作才會生效。
同一條規則配置中,如果存在多個操作配置,則這些操作將會順序執行,存在名稱相同的要求標頭的情況下,後面的操作將會覆蓋前面的操作。
動態運算式配置樣本
添加用戶端真實IP地址
情境
為所有請求添加用於記錄用戶端的真實IP地址的要求標頭。
操作步驟
在ESA控制台,選擇網站管理,在網站列單擊目標網站。
在左側導覽列,選擇。
單擊修改要求標頭頁簽,選擇ESA到來源站點項,單擊新增規則。

在新增修改要求標頭規則地區,填寫:
規則名稱:填寫自訂規則名稱
add-client-ip-out。如果請求匹配以下規則...:選擇所有傳入請求,表示該規則將應用於當前網站下的所有請求。
修改要求標頭:
類型:動態
操作方式:添加
要求標頭名稱:
True-Client-IP-OUT要求標頭值:
ip.src

效果驗證
配置前:不攜帶用戶端真實IP。

配置後:通過true-client-ip-out標題攜帶用戶端真實IP。

添加用戶端IP地址對應國家代碼
情境
為所有來自非中國香港的請求添加用於記錄用戶端IP地址對應國家代碼的要求標頭。
操作步驟
在ESA控制台,選擇網站管理,在網站列單擊目標網站。
在左側導覽列,選擇。
單擊修改要求標頭頁簽,選擇ESA到來源站點項,單擊新增規則。

在新增修改要求標頭規則地區,填寫:
規則名稱:填寫自訂規則名稱
add-client-country。如果請求匹配以下規則...:選擇自訂規則,填寫
省/地區 不等於 中國香港。也可直接編輯運算式如下:
(ip.geoip.country ne "HK")修改要求標頭:
類型:動態
操作方式:添加
要求標頭名稱:
IP-Country-Code要求標頭值:
ip.geoip.country

效果驗證
配置前:不攜帶用戶端IP對應的國家資訊。

配置後:通過ip-country-code標題攜帶用戶端IP對應的國家代碼。

添加用戶端IP地址對應省份代碼
情境
為訪問URI為/content的請求添加用於記錄用戶端IP地址對應省份代碼的要求標頭。
操作步驟
在ESA控制台,選擇網站管理,在網站列單擊目標網站。
在左側導覽列,選擇。
單擊修改要求標頭頁簽,選擇ESA到來源站點項,單擊新增規則。

在新增修改要求標頭規則地區,填寫:
規則名稱:填寫自訂規則名稱
add-client-province。如果請求匹配以下規則...:選擇自訂規則,填寫
URI路徑 等於 /content。也可直接編輯運算式如下:
(http.request.uri.path eq "/content")修改要求標頭:
類型:動態
操作方式:添加
要求標頭名稱:
IP-Province-Code要求標頭值:
ip.src.subdivision_1_iso_code

效果驗證
配置前:不攜帶用戶端IP對應的省份資訊。

配置後:通過ip-province-code標題攜帶用戶端IP對應的省份代碼。

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