問題現(xiàn)象
通過CDN加速后,訪問加速域名提示:該網(wǎng)頁無法正常運作,xxx將您重定向的次數(shù)過多。(報錯:ERR_TOO_MANY_REDIRECTS。)
可能原因
由于瀏覽器限制了單次請求最多被重定向的次數(shù)。以Chrome瀏覽器為例,當(dāng)該請求被重定向超過20次后,將會被瀏覽器主動中止,并提示重定向次數(shù)過多。
如果此類重定向在使用CDN前并未出現(xiàn),通過CDN加速后出現(xiàn)或偶現(xiàn),一般是源站配置不當(dāng),造成回源時出現(xiàn)了重定向的死循環(huán),從而導(dǎo)致持續(xù)讓用戶進行重定向。
常見的根因:源站開啟了強制跳轉(zhuǎn)HTTPS訪問,即通過HTTP回源訪問時,源站會自動跳轉(zhuǎn)HTTPS訪問。如果此時加速域名配置了“源站使用80端口回源”或 “開啟跟隨協(xié)議回源”,將會使得HTTP協(xié)議回源時出現(xiàn)循環(huán)的問題。
以設(shè)置80端口回源為例,重定向循環(huán)的發(fā)生邏輯如下:
- 客戶端訪問加速域名
http://example.aliyun.com/
。 - CDN配置了80端口回源,使用HTTP協(xié)議回源時,源站返回重定向到
https://example.aliyun.com/
。 - 客戶端跟隨重定向訪問URL
https://example.aliyun.com/
。 - 由于CDN配置了80端口回源,此時仍然通過HTTP協(xié)議進行回源,源站再次返回重定向到
https://example.aliyun.com/
。 - 客戶端繼續(xù)跟隨重定向訪問URL
https://example.aliyun.com/
,此后無限循環(huán)3~4步驟。
解決方案
如果您遇到的問題符合上述邏輯,可以參考下文修改回源配置。
- 將域名源站設(shè)置為443端口,操作詳情請參見配置源站。
- 關(guān)閉回源協(xié)議跟隨,或指定HTTPS協(xié)議回源,操作詳情請參見配置回源協(xié)議。
- 提交目錄刷新任務(wù),刷新根目錄,操作詳情請參見刷新和預(yù)熱資源。
- 刷新任務(wù)完成后,清空本地瀏覽器緩存重試。