2014-02-07 37 views
0

我相信在過去幾天(2014年2月4日左右),微軟宣佈CORS支持Azure存儲(link here),這顯然是一個好主意。將自定義域(CNAME)映射到Azure存儲以解決CORS相關問題?

就我而言,我只是想找到使用自定義域映射到Azure存儲的一些確認這將如下解決的一個問題:

  1. Azure存儲與資產(圖片/文檔的容器等)
  2. 我也有CSS/JS資產有在Azure存儲太

由於目前Azure存儲位置是一樣的東西mystorage.blob.core.windows.net和我的實際域(其中頁/服務生活)是說www.mydomain.com,我得到CORS問題當然是從不同的領域加載資產。

所以我的問題是,如果我將CNAME(例如assets.mydomain.com)映射到azure存儲,這是否會解決CORS相關問題?在我看來,它應該,但是我想檢查其他人是否有類似的經歷,他們可以評論?

在此先感謝。

回答

3

如果CORS問題只是通過linkscriptimg標籤等進行加載,那麼您不應該得到CORS問題。 CORS只適用於瀏覽器中由JavaScript代碼產生的AJAX請求。另外,如果在Azure存儲帳戶Blob服務上正確配置了CORS規則,則用於解決該帳戶的域不相關;它是當前網頁所服務的域(Origin域),必須由啓用CORS的服務接受。例如,如果您的頁面是從yaysite.com提供的,並且您嘗試使用XMLHttpRequest訪問yay.blob.core.windows.net上的資源,則瀏覽器會將一個Origin標頭添加到請求中:

Origin: http://yaysite.com

在yay.blob.core.windows.net然後,服務器將需要返回的訪問控制允許來源報頭匹配的響應報頭:

Access-Control-Allow-Origin: http://yaysite.com

如果瀏覽器在響應中看不到這個頭,它將丟棄數據,並且XMLHttpRequest對象將觸發error事件。

Setting CORS rules on Azure Storage is described in this MSDN blog post

+0

感謝您確認..實際上我有幾個單獨的問題(其中一個使用cors),其中一個事實上證明是https作爲主站點,並且可能會從非https位置加載資產。非常感謝確認cors的東西,實際上現在知道azure存儲支持cors是很好的 - 希望很快新門戶也將擁有cdn工具(我知道它可以從舊門戶的cdn用戶提供)。 –

相關問題