問題描述
通過CDN加速後,訪問加速網域名稱提示:該網頁無法正常運作,重新導向的次數過多。(報錯:ERR_TOO_MANY_REDIRECTS)

常見原因
使用者通過HTTPS協議(443連接埠)訪問加速網域名稱(如
https://example.aliyun.com/)。CDN以HTTP協議(80 連接埠)回源(如
http://example.aliyun.com/)。來源站點伺服器(如Nginx)配置了HTTP到HTTPS的重新導向規則,通過HTTP協議回源時,伺服器會返回301/302狀態代碼,並且將請求重新導向到HTTPS協議的URL(例如
https://example.aliyun.com/)。隨後,用戶端(如瀏覽器)會遵循跳轉規則,通過HTTPS協議(預設連接埠443)重新發起請求,最終訪問加速網域名稱。上述過程形成迴圈,超過瀏覽器單次請求允許的重新導向次數後,瀏覽器終止請求並報錯。
解決方案
如果您遇到的問題符合上述邏輯,您可以完成以下四步來解決您的問題。
步驟一:將來源站點回源連接埠設定為443
登入CDN控制台。
在左側導覽列,單擊域名管理。
在域名管理頁面,找到目標網域名稱,單擊操作列的管理。
在源站信息地區,選擇编辑來源站點配置。
將來源站點的連接埠資訊改為
443,然後點擊确定。
步驟二:修改回源協議為 HTTPS
如果沒有開啟回源协议功能,則可以忽略此步驟。
登入CDN控制台。
在左側導覽列,單擊域名管理。
在域名管理頁面,找到目標網域名稱,單擊操作列的管理。
在指定網域名稱的左側導覽列,單擊回源配置。
在配置頁簽中,找到回源协议地區,點擊修改配置。
協議類型選擇 HTTPS,然後點擊確定。
選擇 HTTPS 可確保 CDN 始終以 HTTPS 協議回源,無論用戶端使用 HTTP 還是 HTTPS 訪問,均可避免觸發來源站點的 HTTP至HTTPS 強制跳轉而造成重新導向迴圈。
說明若選擇跟隨,當用戶端以 HTTP 訪問時,CDN 仍以 HTTP 回源,來源站點的強制跳轉規則仍會觸發重新導向迴圈。
步驟三:對資源的緩衝進行重新整理
登入CDN控制台。
在左側導覽列,單擊重新整理預熱。
操作類型選擇刷新,操作方式選擇目录。
在URL中填寫您的根路徑(例如,若加速網域名稱為
https://www.example.com/image/static/1.png,那麼您需要在此處填寫的URL為https://www.example.com/。注意,目錄重新整理的URL必須以https://或http://開頭,以/結尾)。點擊提交,開始緩衝重新整理的任務。
在操作記錄中可以看到緩衝重新整理任務的進度。
步驟四:清除本地瀏覽器緩衝
此處以Chrome瀏覽器為例作為示範。
在Chrome瀏覽器右上方,依次點擊“更多”表徵圖

刪除瀏覽資料。選擇時間範圍,例如過去一小時或時間不限。
選擇要移除的資訊的類型(緩衝的圖片和檔案為必選項,其他選項為可選項)。
點擊刪除資料。
驗證步驟
您可以通過以下方式驗證:
使用
curl -I 加速網域名稱(例如:curl -I https://www.example.com/image/static/1.png)檢查回應標頭是否包含Location跳轉資訊。如果回應標頭不包含Location,說明問題已解決。或者,使用瀏覽器無痕模式直接存取加速網域名稱進行驗證,如果能夠正常訪問,說明問題已解決。