訪問CDN加速時出現404狀態碼
更新時間 2024-10-08 18:02:23
最近更新時間: 2024-10-08 18:02:23
分享文章
本文介紹訪問CDN加速資源出現404狀態碼的排查過程。
問題現象
在使用天翼云CDN加速時,出現404報錯頁面。
問題原因
404狀態碼是HTTP協議中的一種狀態碼,表示客戶端所請求的資源未找到。當服務器無法找到與請求的URL對應的資源時,會返回404狀態碼給客戶端,Web瀏覽器中顯示為“頁面未找到”、“頁面不存在”或類似的提示,具體如下圖示:


導致該錯誤的原因可能有如下幾種:
- 場景一:CDN未正確配置:如果CDN未正確配置,指向了錯誤的資源路徑,源站會無法找到正確的內容,從而導致404頁面的出現。
- 場景二:服務器資源不存在:如果網站管理員刪除或重命名源服務器上的某個文件或目錄,服務器對應舊URI路徑的資源不存在,那么CDN將無法得到對應的文件,從而返回404狀態碼。
- 場景三:拼寫錯誤或客戶端URL生成規則錯誤:如果在URL中存在拼寫錯誤、文件路徑錯誤或客戶端URL生成規則有誤等問題,將無法在服務器找到對應的資源,從而返回404狀態碼。
解決方案
如果您遇到CDN出現404頁面的情況,根據不同場景,可以嘗試以下解決方法:
場景一:檢查CDN配置是否正確:CDN配置的回源域名/回源IP、回源HOST、源站端口、回源協議等配置是否正確。
- 回源域名/回源IP錯誤:檢查回源域名/回源IP配置是否為目標源服務器的域名或IP、拼寫是否正確。
- 回源HOST配置錯誤:回源HOST用于指定CDN節點回源時,請求URI具體的資源站點位置。如果回源HOST配置錯誤,源站無法根據HOST定位到URI資源的站點位置,源站也會響應404。回源域名/回源IP、回源HOST的區分如下:
- 回源域名/回源IP:指您的源站服務器,即存儲和提供網站內容的主要服務器,該地址決定了CDN回源時建聯的具體IP地址。
- 回源HOST:指CDN回源請求頭中攜帶的HOST字段值,決定了回源請求訪問到源IP地址上的具體站點位置。若未指定回源HOST,默認取值當前加速域名。
- 源站端口/回源協議配置錯誤:該問題通常存在于源站端口非默認80/443端口,或http、https僅單一協議中存在資源。例如:
- 源站http服務端口為81,則需要修改回源配置,配置【回源端口】為http 81。
- 源站https服務端口為82,則需要修改回源配置,配置【回源端口】為https 82。
- 源站僅單一協議存在資源(http默認80端口,https默認443端口),則根據實際源站情況,修改回源協議為HTTP或HTTPS。
場景二:檢查源服務器資源是否存在:檢查資源在源服務器上存在且路徑正確。
場景三:檢查網頁文件生成規則及URL鏈接拼寫:檢查網頁URL生成規則正確、URL鏈接拼寫無誤。
如果以上方法均無效,建議聯系網站管理員或提交工單聯系天翼云客服進行處理。