訪問出現重定向次數過多的報錯
更新時間 2023-08-11 14:33:16
最近更新時間: 2023-08-11 14:33:16
分享文章
本文介紹訪問出現重定向次數過多的報錯問題原因及解決方案。
問題現象
接入邊緣安全加速平臺—安全與加速讀物后瀏覽器無法正常訪問網頁,并提示重定向的次數過多。
問題原因
- 原因1:源站開啟了HTTP強制跳轉HTTPS的功能,并在控制臺上配置HTTP回源協議。在這種配置下,由于CDN的回源協議為HTTP,客戶的請求協議無論是HTTP還是HTTPS時,CDN在回源時都會采用HTTP協議請求源站,此時由于源站的強制跳轉配置,會返回響應讓客戶端重定向到HTTPS協議,而此時客戶端再次發起HTTPS請求協議后,回源依然會是HTTP協議,進而再觸發強制跳轉,以此類推,最終造成重定向次數過多,出現報錯。
- 原因2:源站響應的重定向頁面被CDN緩存,從重定向的響應頭中可以看到CDN命中緩存的HIT字段,導致客戶端訪問CDN時直接命中緩存,并且在重定向后訪問的還是緩存的重定向頁面,最終出現重定向次數過多的報錯。
- 原因3:CC防護開關開啟且客戶端或者業務無法支持對應好的CC防護策略。可以查看302狀態碼的響應頭是否攜帶Set-Cookie頭并且值里面帶有CT6T=的字樣,如果有則是該原因導致。
解決方案
針對原因1,有如下兩種方案:
- 方案一:關閉源站的HTTP強制跳轉HTTPS的功能,如果客戶依然希望進行HTTP強制跳轉HTTPS,可以通過CDN控制臺開啟HTTPS強制跳轉功能。
- 方案二:修改CDN回源協議為HTTPS協議或跟隨請求協議回源。修改為HTTPS協議回源后,CDN回源將以HTTPS協議請求源站,就不會觸發源站的強制跳轉功能;修改為跟隨請求協議回源后,當觸發源站強制跳轉時,客戶端也能正常重定向通過HTTPS協議訪問CDN,并以HTTPS協議請求回源。
針對原因2,有如下兩種方案:
- 方案一:CDN默認遵循源站緩存,如果是源站重定向時給出緩存頭部導致CDN緩存重定向的頁面,則需要源站修改緩存頭部或CDN側針對重定向頁面配置強制不緩存,且配置后刷新URL緩存。
- 方案二:如果非源站緩存頭部原因,而是在CDN側配置的強制緩存規則導致CDN緩存,則需要修改對應緩存配置,針對重定向頁面刪除相關緩存配置或配置為強制不緩存,且配置后刷新URL緩存。
針對原因3,建議操作如下: