回源301/302跟隨功能同時支援來源站點的301和302響應狀態代碼,本文中所有302狀態代碼可以實現的功能,301狀態代碼也同樣支援。配置回源301/302跟隨功能後,邊緣安全加速 ESA節點會代替使用者直接處理來源站點響應的301/302狀態代碼的內容,減少資料互動流程,加快使用者擷取資源的速度。
前提條件
來源站點使用301和302重新導向方式。
背景資訊
301/302是HTTP協議中的狀態代碼,代表已存在的資源被改變了位置,導致使用者無法訪問到對應的資源。基於此情況,伺服器通常會在訊息回應標頭中加入Location參數,當用戶端接收到帶有Location頭的301/302響應時,會跳轉到Location對應的地址去請求資源。
工作原理
回源301/302跟隨功能指ESA節點回源請求資源時,如果收到來源站點返回的301/302狀態代碼,將由ESA節點代替使用者直接處理301/302狀態代碼的內容,即直接跳轉到來源站點301/302響應中的Location地址去擷取資源,不會直接返回301/302狀態代碼給使用者。
使用者向ESA節點請求訪問
http://example.com/examplefile.txt檔案。ESA節點上未緩衝該檔案,ESA節點回來源站點請求該檔案。
來源站點收到請求後,向ESA節點返回301/302狀態代碼,Location地址指向
http://www.example.org/examplefile.txt。ESA節點收到來源站點的響應後,直接向Location地址
http://www.example.org/examplefile.txt發起請求。ESA節點擷取到所需資源後,緩衝到ESA節點上。
ESA節點將擷取到的資源返回給使用者。
此時,如果其他使用者再請求訪問http://example.com/examplefile.txt檔案,會直接在ESA節點命中緩衝並返回給使用者。
注意事項
來源站點返回給ESA節點301/302響應中的Location標題的格式支援下面這2種形式:
標準網域名稱格式:
http://www.example.net/index.htmlIPv4地址格式:
http://10.10.10.10/index.html
ESA節點在發起跟隨請求的時候,攜帶的Host標題的值遵循以下規則:
如果來源站點響應的Location標題中的來源站點為網域名稱形式,Host標題的值等於來源站點的網域名稱。
如果來源站點響應的Location標題中的來源站點為IP形式,Host標題的值等於原始回源請求中攜帶的Host標題值。
ESA節點在發起跟隨請求的時候,攜帶的Host標題資訊不受是否保留原始請求標題的影響。
操作步驟
在ESA控制台,選擇網站管理,在網站列單擊目標網站。
在左側導覽列,選擇。
單擊新增規則,填寫規則名稱。
在如果請求匹配以下規則...地區設定要匹配的使用者請求特徵,具體配置規則請參見規則運算式的組成。
在則執行…地區,單擊配置,開啟跟隨次數上限開關,配置回源301/302跟隨。

跟隨次數上限:指在一次使用者請求過程中,ESA節點可以跟隨Location地址跳轉訪問的最大次數,超出限制將直接返回301/302狀態代碼給使用者。預設值為2,取值範圍為1~5。
說明配置301/302跟隨次數上限,會影響回源次數上限。回源次數上限指在一次使用者請求過程中,ESA節點可以回源訪問來源站點的最大次數。
回源次數上限=301/302跟隨次數上限+1,即預設的回源次數上限為3,取值範圍為2~6。
原始請求參數:301/302跟隨時是否保留原請求參數回目標來源站點。如果您選擇保留,那麼請求參數將會傳遞給Location地址對應的伺服器。
原始請求標題:301/302跟隨時是否保留原要求標頭回目標來源站點。如果您選擇保留,那麼要求標頭參數將會傳遞給Location地址對應的伺服器。
修改302後的回源host:ESA節點在發起跟隨請求的時候,攜帶的Host標題的值遵循以下規則。
如果來源站點響應的Location標題中的來源站點為網域名稱形式,Host標題的值等於來源站點的網域名稱。
如果來源站點響應的Location標題中的來源站點為IP形式,Host標題的值等於原始回源請求中攜帶的Host標題值。
配置了參數,不論來源站點響應的Location標題中的來源站點為網域名稱還是IP形式,都固定使用這裡配置的網域名稱作為Host。
單擊確定,完成配置。
相關文檔
規則相關的功能,在生效優先順序、可重新進入性、生效顆粒度這三個特性上存在差異,詳細情況請查看規則相關功能的特性說明。