2014-02-07 36 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用户提供)。 –

相关问题