配置了阿里云CDN或者全站加速后,使用瀏覽器進行訪問,出現(xiàn)如下錯誤提示。
XXX.XXX.XXX 將您重定向的次數(shù)過多。
嘗試清除 Cookie.
ERR_TOO_MANY_REDIRECTS
一、問題原因
源站開啟了HTTP重定向至HTTPS的功能,并且CDN控制臺上配置的回源端口為80。在這種情況下,由于CDN回源端口為80,客戶端無論是通過HTTP還是HTTPS訪問CDN加速域名時,CDN在回源的時候都是使用HTTP請求源站,此時會觸發(fā)源站的HTTPS強制跳轉(zhuǎn)邏輯,然后源站會要求CDN重新發(fā)送一個HTTPS的請求,但是CDN回源的時候仍然會發(fā)送HTTP回源請求,然后再進行跳轉(zhuǎn),以此類推,就會出現(xiàn)反復重定向問題,最終導致出現(xiàn)報錯。
二、解決方法
(一)方法一
登錄CDN控制臺,在域名管理頁面單擊目標域名對應的管理,然后單擊 修改配置,將CDN的回源端口設置為443,并單擊 確定。設置為443端口以后,CDN回源時會以HTTPS協(xié)議請求源站,就不會觸發(fā)源站的強制跳轉(zhuǎn)邏輯。
(二) 方法二
將協(xié)議跟隨回源設置為“跟隨”。設置為跟隨以后,源站發(fā)起HTTPS重定向以后,CDN回源協(xié)議跟隨為HTTPS回源。
登錄CDN控制臺—>在左側(cè)導航欄,單擊域名管理—>在域名管理頁面,單擊目標域名對應的管理—>在指定域名的左側(cè)導航欄,單擊回源配置—>在回源協(xié)議區(qū)域,打開回源協(xié)議開關—>單擊修改配置—>在靜態(tài)協(xié)議跟隨回源對話框,選擇的回源協(xié)議類型為:跟隨、HTTP或HTTPS。
(三) 方法三
如果不希望將CDN的回源端口改成443,仍希望CDN以HTTP協(xié)議回源,這種情況下可以考慮關閉源站的HTTP重定向至HTTPS的強制跳轉(zhuǎn)功能。
(四)方法四
這個不叫解決方法,把你的域名解析遷移至阿里云運解析。我開始解析在DNSPOD(這個后來被鵝廠收購),不論怎么搞,就是不行,不是這問題就是那問題,后來遷入阿里云解析,使用CDN 加速,沒有一點問題啊,奇怪了。
三 、特別注意
如果按照上述建議修改配置以后問題還未解決,則可能是301被CDN節(jié)點緩存了,需要刷新下CDN的緩存(登錄CDN控制臺 —> 在左側(cè)導航欄,單擊刷新預熱 —> 在刷新緩存區(qū)域,您可以根據(jù)所需,配置刷新或預熱信息)。下面是一個異?,F(xiàn)象的案例,訪問HTTPS的URL以后,301重定向Location到同樣的HTTPS地址,從Response Headers里可以看到301被CDN HIT緩存住了。