全部產品
Search
文件中心

CDN:如何判斷CDN是否已生效

更新時間:Jun 24, 2026

問題背景

已經配置了CDN,但不清楚配置是否生效。

分析步驟

判斷CDN配置的網域名稱是否起到加速的效果,需要按照如下幾個步驟進行分析:

前置條件檢查

在排查 CDN 是否生效之前,請先確認以下前提條件:

  • 來源站點服務正常:如果網域名稱解析正常但訪問返回 404 等錯誤,需優先確認來源站點服務是否可用,而非僅排查 CDN 配置。可以繞過 CDN,直接通過來源站點 IP 或來源站點網域名稱訪問資源來驗證來源站點可用性。

  • DNS 解析記錄類型正確:CDN 加速網域名稱必須配置 CNAME 類型的解析記錄。如果通過 IP 可以正常訪問但通過網域名稱無法訪問且 Ping 不通,請檢查 DNS 中是否錯誤配置了 A 記錄而非 CNAME 記錄,或 CNAME 指向的地址是否正確。可以通過 nslookup -type=CNAME <加速網域名稱>dig +short <加速網域名稱> CNAME 命令驗證當前的解析記錄類型。

  • CDN 緩衝規則配置正確:確保CDN 控制台中加速網域名稱的緩衝規則(如緩衝到期時間、目錄或檔案尾碼的緩衝策略)已正確配置,避免因緩衝規則不當導致資源無法被 CDN 節點緩衝。

確認CNAME是否配置成功

  • 控制台中CNAME狀態為已配置,且網域名稱狀態為正常運行。

  • 使用nslookup -type=CNAME 加速網域名稱 dig +short <加速網域名稱> CNAME命令,如果返回的解析結果和CDN控制台上該加速網域名稱的CNAME值一致,則表示配置的CNAME已經生效。

如果未解析到 CDN CNAME,說明 CNAME 配置未生效,請參考配置CNAME常見問題排查。

驗證CDN緩衝是否生效

  • 瀏覽器訪問(並開啟瀏覽器開發人員工具)。

    當回應標頭結果中有AgeX-CacheX-Swift-SaveTimeX-Swift-CacheTime時,證明阿里雲CDN已經生效。

    說明
    • X-Cache:欄位為MISS,則表示未命中緩衝,需要進行回源處理;X-Cache欄位為HIT,則表示命中了CDN緩衝,會直接讀取快取資料。

    • Age: 表示檔案在CDN節點上緩衝的時間(秒)。檔案被重新整理或首次訪問無此欄位。Age為0表示緩衝到期,需回源校正。

    • X-Swift-SaveTime:表示資源首次被緩衝到CDN節點上的時間(GMT)。

    • X-Swift-CacheTime:欄位值表示CDN節點上的允許緩衝時間,即該檔案可以在CDN節點上緩衝多久。如果是0,則表示該請求無法緩衝。

    • EagleId:阿里雲 CDN 節點的特徵回應標頭欄位。在瀏覽器開發人員工具的網路請求回應標頭(Response Headers)中尋找 eagleid 欄位,若該欄位存在,表示請求已經過阿里雲 CDN 節點處理;若缺失,可能表示請求未經過 CDN(例如直接回源或被本機快取攔截)。

  • 如需驗證整體的加速效果,應當通過撥測的方式進行對比驗證。可通過一次性撥測工具分別綁定CDN和繫結來源站對比測試。

如果按照上述方法驗證時遇到異常結果,請檢查以下常見排查點:

  • 瀏覽器未顯示 CDN 回應標頭:如果在瀏覽器開發人員工具中未看到 AgeX-CacheX-Swift-SaveTimeX-Swift-CacheTime 等 CDN 回應標頭,可能是瀏覽器使用了本機快取而未實際發起請求。建議先按 Ctrl+Shift+R(Windows/Linux)或 Cmd+Shift+R(macOS)強制重新整理頁面,或使用瀏覽器無痕模式/更換其他瀏覽器重新訪問測試。

  • Ping 不通或訪問異常:本地 DNS 緩衝可能保留了舊的解析結果,導致請求未到達 CDN 節點。建議執行以下命令重新整理本地 DNS 緩衝後重試:

    • Windows:ipconfig /flushdns

    • macOS:sudo dscacheutil -flushcache

    • Linux:sudo systemd-resolve --flush-caches

    如果重新整理 DNS 緩衝後仍然無法正常解析或訪問,可嘗試將本地 DNS 伺服器更換為公用 DNS(如 8.8.8.8114.114.114.114)後重新測試,以排除本地 DNS 伺服器解析異常的影響。此操作同樣適用於以下常見情境:

    • 瀏覽器報 DNS_PROBE_FINISHED_NXDOMAIN 錯誤:通常表示 DNS 無法解析該網域名稱,重新整理 DNS 緩衝或更換公用 DNS 後重試。

    • CDN 續約或配置變更後 Ping 不通:DNS 解析緩衝可能仍指向舊地址,等待 DNS 緩衝到期或手動重新整理後即可恢複。

  • 確認存取 URL 使用了正確的網域名稱:請確保訪問資源時使用的是 CDN 加速網域名稱(如 cdn.example.com),而非 CDN 分配的 CNAME 地址(如 cdn.example.com.w.kunlunaq.com)。CNAME 地址僅用於在 DNS 服務位址配置解析記錄,不應直接用於瀏覽器訪問或資源引用。

常見問題

CDN 控制台顯示 CNAME 已配置,但網域名稱仍無法訪問或解析失敗怎麼辦?

如果 CDN 控制台的CNAME狀態顯示為已配置,但網域名稱訪問異常,請按以下步驟排查:

  1. 確認來源站點服務正常:繞過 CDN 直接通過來源站點 IP 或來源站點網域名稱訪問資源,排除來源站點服務停用可能。如果來源站點本身無法訪問,需先恢複來源站點服務。

  2. 檢查網域名稱狀態:在 CDN 控制台確認加速網域名稱的狀態為正常運行。如果網域名稱因欠費、違規等原因被停用,CDN 加速不會生效。CDN 續約後通常不需要重新設定即可恢複訪問。

  3. 清除本地 DNS 緩衝:本地 DNS 緩衝可能保留了舊的解析結果。執行以下命令清除後重試:

    • Windows:ipconfig /flushdns

    • macOS:sudo dscacheutil -flushcache

    • Linux:sudo systemd-resolve --flush-caches

  4. 等待 DNS 生效:如果是新添加或修改的 CNAME 記錄,DNS 全網生效可能需要 5~10 分鐘,請稍後再次驗證。

網域名稱已在 DNS 側配置了阿里雲 CDN 的 CNAME,但為何仍無法訪問?

DNS 解析指向了阿里雲 CDN 的 CNAME 地址,不代表 CDN 加速已經配置完成。CDN 服務需要同時滿足以下兩個條件才能正常工作:

  1. 在 CDN 控制台添加加速網域名稱:登入CDN 控制台,在域名管理頁面添加加速網域名稱並完成回源等配置。

  2. 在 DNS 服務位址配置 CNAME 記錄:將網域名稱的 DNS 解析指向 CDN 控制台分配的 CNAME 地址。

如果僅完成了第 2 步(DNS 解析配置),而未在 CDN 控制台添加加速網域名稱,CDN 節點無法識別該網域名稱的請求,服務不會生效。請確認網域名稱已在 CDN 控制台成功添加,且網域名稱狀態正常運行

配置 CDN 後網站圖片載入緩慢或資源未加速怎麼辦?

CDN 僅加速通過加速網域名稱請求的資源,不會自動替換網站代碼中的資源引用地址。如果接入 CDN 後仍感覺載入緩慢,請按以下步驟排查:

  1. 檢查資源 URL:開啟瀏覽器開發人員工具(F12),在 Network 面板查看圖片、CSS、JavaScript 等靜態資源的請求 URL。如果這些 URL 仍指向來源站點地址(如 OSS Endpoint 或來源站點 IP),說明這些資源請求未經過 CDN。

  2. 修改資源引用:確保網站前端代碼中靜態資源的 URL 已替換為 CDN 加速網域名稱。例如,將 https://oss-bucket.oss-cn-hangzhou.aliyuncs.com/image.png 修改為 https://cdn.example.com/image.png

  3. 驗證 CDN 生效:通過 CDN 加速網域名稱訪問某個資源,在瀏覽器開發人員工具中查看回應標頭。如果 X-Cache 欄位值為 HIT,表示該資源已被 CDN 緩衝和加速。

DNS 解析衝突導致 CDN 不生效怎麼辦?

如果 CNAME 已正確配置但 CDN 仍未生效,可能是 DNS 配置存在衝突。請根據以下情境排查:

  • 同一主機記錄存在多條 CNAME 解析:同一網域名稱的主機記錄下如果存在多條 CNAME 解析記錄,會導致 DNS 解析衝突,請求可能繞過 CDN 直接到達來源站點。請登入 DNS 服務商控制台,禁用或刪除未指向阿里雲 CDN 的 CNAME 解析記錄,確保該主機記錄下僅保留一條指向阿里雲 CDN CNAME 地址的解析記錄。

  • 泛網域名稱加速與子網域名稱記錄衝突:配置泛網域名稱加速(如 *.example.com)後,如果 DNS 中單獨為某個子網域名稱(如 img.example.com)配置了 A 記錄或其他解析記錄,該子網域名稱的請求可能不經過 CDN。請刪除 DNS 中該子網域名稱的獨立解析記錄,等待 DNS 生效(通常約 10 分鐘)後重新測試。

  • 第三方 DNS 服務衝突:如果使用 Cloudflare 等第三方 DNS 服務且出現 Error 1001 錯誤,或網域名稱的 NS 記錄未指向阿里雲雲解析 DNS,請求可能被第三方 DNS 攔截或未到達阿里雲 CDN。請檢查網域名稱的 NS 記錄和權威 DNS 伺服器配置,確保 CNAME 接入方式正確,必要時將 DNS 服務切換至阿里雲雲解析 DNS,並清除本地 DNS 緩衝後重試。

  • HTTPS 訪問失敗但 HTTP 正常:如果通過 HTTP 協議可以正常訪問但 HTTPS 訪問失敗或提示認證錯誤,通常是 CDN 未配置 SSL 憑證。請登入CDN 控制台,在加速網域名稱的 HTTPS 配置頁面上傳或選擇 SSL 憑證,開啟 HTTPS 安全加速。

CDN 控制台狀態顯示異常或監控無流量怎麼辦?

如果 CDN 控制台中網域名稱的 CNAME 狀態頻繁切換、或監控面板顯示無流量資料,請按以下思路排查:

  • CNAME 狀態頻繁在"已配置"和"未配置"之間切換:可能是 DNS 配置存在衝突(請參考上方"DNS 解析衝突導致 CDN 不生效怎麼辦?"),或 DNS TTL(存留時間)尚未完全到期。修改 NS 記錄後全網生效通常需要最長 48 小時。此外,如果在回應標頭中看到大量 304 狀態代碼,這屬於正常的 HTTP 緩衝行為(表示資源未被修改,伺服器返回"未修改"響應),並非 CDN 異常。如需強制擷取最新資源,可使用 Ctrl+F5(Windows/Linux)或 Cmd+Shift+R(macOS)進行強制重新整理。

  • 監控面板無流量資料:除 DNS 解析衝突外,請檢查以下事項:

    • 建議使用次層網域(如 cdn.example.com)而非主網域名稱配置 CDN 加速,避免與其他解析記錄衝突。

    • 通過瀏覽器無痕模式訪問測試 URL,排除本地瀏覽器緩衝的幹擾。

    • 確認測試 URL 使用的是 CDN 加速網域名稱,而非來源站點地址或 CNAME 地址。

  • 懷疑網域名稱本身存在問題:如果網域名稱可能已到期或被註冊商停用,可通過WHOIS 查詢查詢網域名稱的註冊資訊和到期時間,確認網域名稱狀態正常。