全部產品
Search
文件中心

:跨域訪問CDN加速的OSS資源失敗

更新時間:Feb 28, 2024

本文介紹跨域訪問CDN加速的OSS資源失敗的原因和解決方案。

問題描述

在阿里雲OSS控制台設定了跨域CORS規則後,使用阿里雲CDN加速網域名稱訪問OSS資源失敗。

問題原因

  • 通過OSS控制台配置CORS規則後,如果CDN節點緩衝了舊的、未配置CORS時的資源回應標頭,則新的跨域請求可能因為瀏覽器收到的是緩衝中的到期頭部資訊而失敗。

  • 通過OSS控制台配置的CORS規則可能沒有設定為允許目標網域名稱進行跨域訪問,或者HTTP方法(如GET、POST、DELETE等)以及自訂要求標頭等沒有被正確指定。

解決方案

  1. 登入CDN控制台

  2. 在左側導覽列,單擊網域名稱管理

  3. 網域名稱管理頁面,單擊目標網域名稱對應的管理

  4. 在左側導覽列,單擊緩衝配置,然後單擊節點HTTP回應標頭頁簽。

  5. 節點HTTP回應標頭頁簽,單擊添加

  6. 節點HTTP回應標頭對話方塊,按以下說明分別配置自訂回應標頭參數以及對應的回應標頭值。

    說明

    以下參數設定僅供參考,請結合實際情境調整各個配置項。

    自訂回應標頭參數

    回應標頭值

    Access-Control-Allow-Origin

    設定為萬用字元星號(*),並開啟跨域驗證。

    Access-Control-Allow-Methods

    POST,GET,HEAD,PUT,DELETE

    Access-Control-Max-Age

    3600

    配置效果如下圖所示:

    image

    配置以上參數後,通過CDN節點訪問都會包含以上3個Header資訊,且確保跨域校正時可以正常使用。測試結果如下。 TB1nRb4JFXXXXaZXXXXXXXXXXXX-811-372.png