Azure CDN跨目录资源访问遭CORS拦截,求全局配置方案
解决Azure CDN关联存储账户的字体跨域CORS问题
全局配置方案(存储账户端)
你的CDN资源实际来自Azure存储账户,直接在存储账户上配置全局CORS规则就能覆盖所有目录的资源,步骤如下:
- 登录Azure门户,找到目标存储账户
- 进入数据存储 > Blob服务 > CORS配置页
- 添加一条CORS规则,按需求填写参数:
- 允许的来源:填入IoT设备的访问源,比如
http://192.168.0.202;若需允许所有源可填*(生产环境不推荐) - 允许的方法:勾选
GET(字体文件仅需GET请求) - 允许的标头:填
*或按需指定(如Content-Type) - 公开的标头:填
* - 最大年龄(秒):设置合理值,比如
86400(24小时)
- 允许的来源:填入IoT设备的访问源,比如
- 保存配置,等待5-10分钟让配置生效
验证与排查
配置生效后,用浏览器开发者工具查看字体文件的响应头,确认是否包含Access-Control-Allow-Origin字段且值匹配你的访问源。如果仍报错,可尝试在Azure CDN端点的清除缓存功能中清理现有缓存。
补充说明
- 无需在CDN单独配置CORS,CDN会自动透传存储账户的响应头;除非你用CDN规则引擎修改头信息,否则优先在存储端配置更直接
- 匿名访问模式不影响CORS配置,只要Blob容器开启了匿名读取权限即可
内容的提问来源于stack exchange,提问作者rs77can
相关产品推荐
相关产品推荐

