阿里云CDN+OSS跨域訪問失敗原因及處理方法
發(fā)布時間:2018-06-05 點擊數(shù):1646
Cors 設(shè)置跨域訪問原理我們都了解,那么設(shè)置CDN后,為什么會出現(xiàn)跨域失敗呢?
主要原因:
在用戶第一次訪問cdn,cdn會檢查數(shù)據(jù)沒有,回源到源站進(jìn)行訪問。源站對比將數(shù)據(jù)經(jīng)過cdn反饋給客戶端瀏覽器。瀏覽器比對Access-Control-Allow-Origin 后,允許正確,所以跨域正常。 當(dāng)?shù)诙€用戶訪問時,cdn檢測有這個文件,所以會直接給客戶端反饋緩存頁面。由于CDN之所以失敗是因為CDN緩存了OSS未配置cors之前的文件及其頭部,造成客戶端瀏覽器判斷失敗,不允許訪問。所以出現(xiàn)了跨域失敗。
解決辦法:
目前我們CDN直接提供了Access-Control-Allow-Origin、Access-Control-Allow-Methods、Access-Control-Max-Age
我們可以分別設(shè)置參數(shù)如下:
注意:參數(shù)可以自定義,以下只是舉例
這樣只要在CDN節(jié)點訪問就會包含3個頭部信息,不會影響正常訪問。且在跨域驗證保證了正常使用。測試結(jié)果如下:
如果問題還未能解決,請聯(lián)系售后技術(shù)支持。