問題現象
試用全站加速后瀏覽器無法正常訪問網頁,并提示重定向的次數過多。
問題原因
原因1:源站開啟了HTTP強制跳轉HTTPS的功能,并在客戶控制臺上配置HTTP回源協議。在這種配置下,由于全站加速的回源協議為HTTP,客戶的請求協議無論是HTTP還是HTTPS時,全站加速在回源時都會采用HTTP協議請求源站,此時由于源站的強制跳轉配置,會返回響應讓客戶端重定向到HTTPS協議,而此時客戶端再次發起HTTPS請求協議后,回源依然會是HTTP協議,進而再觸發強制跳轉,以此類推,最終造成重定向次數過多,出現報錯。
原因2:源站響應的重定向頁面被全站緩存,從重定向的響應頭中可以看到全站命中緩存的HIT字段,導致客戶端訪問全站時直接命中緩存,并且在重定向后訪問的還是緩存的重定向頁面,最終出現重定向次數過多的報錯。
解決方案
針對原因1,有如下兩種方案:
方案一:關閉源站的HTTP強制跳轉HTTPS的功能,如果客戶依然希望進行HTTP強制跳轉HTTPS,可以通過客戶控制臺開啟HTTPS強制跳轉功能。操作指南詳見:強制跳轉。
方案二:修改回源協議為HTTPS協議或跟隨請求協議回源。修改為HTTPS協議回源后,CDN回源將以HTTPS協議請求源站,就不會觸發源站的強制跳轉功能;修改為跟隨請求協議回源后,當觸發源站強制跳轉時,客戶端也能正常重定向通過HTTPS協議訪問全站,并以HTTPS協議請求回源。操作指南詳見:回源協議。
針對原因2,有如下兩種方案:
方案一:全站默認遵循源站緩存,如果是源站重定向時給出緩存頭部導致全站緩存重定向的頁面,則需要源站修改緩存頭部或全站側針對重定向頁面配置強制不緩存,且配置后刷新URL緩存。操作指南詳見:緩存過期時間。
方案二:如果非源站緩存頭部原因,而是在全站側配置的強制緩存規則導致全站緩存,則需要修改對應緩存配置,針對重定向頁面刪除相關緩存配置或配置為強制不緩存,且配置后刷新URL緩存。操作指南詳見:緩存過期時間。