當邊緣安全加速 ESA回來源站點請求資源時,預設使用的Host要求標頭會由來源站點類型決定。當實際業務需要與預設配置不一致時,需通過修改回源Host要求標頭,確保請求正確回源。
您的來源站點伺服器需要支援通過Host要求標頭匹配不同的虛擬網站,否則該功能配置無法達到預期的功能效果。
您所設定的回源規則中的回源Host參數的生效優先順序高於在管理DNS記錄中設定的回源Host參數,在兩處同時設定的情況下,回源規則中的回源Host參數配置的值將會最終生效。
背景資訊
預設回源Host機制
Host要求標頭用於指定請求的伺服器網域名稱,ESA節點向來源站點請求資源時,預設Host將遵循:
記錄值/來源站點為IPv4/IPv6/網域名稱/負載平衡器/源位址集區:回源HOST的預設配置是跟隨請求HOST,即使用用戶端請求中攜帶的Host作為回源Host。
記錄值/來源站點為OSS/S3相容:回源HOST的預設配置是跟隨來源站點網域名稱,即使用來源站點的網域名稱作為回源Host。
來源站點將根據回源要求標頭中的Host(如www.example.com)返回對應網站的資源,如果您的來源站點上配置了多個網站(如使用了虛擬網站情境),來源站點將校正回源請求中攜帶的Host欄位和網站名稱以返回正確的資源。
虛擬網站情境
虛擬網站技術是一種在單個Web伺服器上提供多個網站服務的技術。伺服器通過使用不同的網域名稱或主機名稱來區分和隔離不同的網站。當使用者請求訪問某個特定的網域名稱或主機名稱時,伺服器會根據請求的網域名稱或主機名稱,將請求定向到相應的虛擬網站,從而提供相應的網站內容。
建立回源Host規則
配置虛擬網站樣本
以Nginx配置虛擬網站情境為例:在Nginx設定檔中的server塊設定多個虛擬網站,如:www.example.org、www.example.net、www.example.com。
server {
listen 80;
server_name example.org www.example.org;
...
}
server {
listen 80;
server_name example.net www.example.net;
...
}
server {
listen 80;
server_name example.com www.example.com;
...
}Nginx會優先在HTTP要求標頭中尋找Host欄位以確定請求需要路由到的虛擬網站,如果沒有匹配到任何一個虛擬網站,Nginx會使用預設的虛擬網站提供服務(若未配置,預設為第一個server配置為預設網站)。為實現各請求正確分配至對應虛站,可參考下方配置實現:
在ESA控制台,選擇網站管理,在網站列單擊目標網站。
在左側導覽列,選擇,在回源規則頁面單擊新增規則。
在配置頁面填寫相關欄位後單擊確定:
規則名稱:填寫規則名稱,如
rule-virtual-com。如果請求匹配以下規則...:填寫規則條件,如分別選擇填寫
URI完整,開頭為,http://www.example.com則執行…:在回源HOST地區單擊配置,填寫需要對應的虛站地址如
www.example.com。
按照上一步驟,繼續新建立兩條規則:
rule-virtual-org和rule-virtual-net。

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

