配置私有Microsoft Blob Storage仅允许Cloudflare加速网站访问
配置Azure Blob Storage仅允许Cloudflare加速的网站访问
1. 维持Blob存储私有性
确保你的Blob存储账户公共访问级别设为专用(不允许匿名访问),这是阻止未授权直接访问的基础前提。
2. 配置存储账户防火墙,仅放行Cloudflare节点IP
由于网站通过Cloudflare CDN加速,所有来自网站的资源请求实际由Cloudflare节点发起,需将Cloudflare全量IP段加入存储账户防火墙允许列表:
- 登录Azure门户,进入目标存储账户
- 左侧导航栏选网络,切换到防火墙和虚拟网络选项卡,选择选定的网络
- 在地址范围区域,添加Cloudflare的IPv4、IPv6地址段(需定期同步官方更新的IP列表,避免规则失效)
- 保存配置
3. 设置Blob服务CORS规则
为允许你的网站(https://mydomain.com)跨域请求Blob资源,需配置CORS规则:
- 在存储账户左侧导航栏选数据存储 > Blob服务,点击CORS
- 添加新规则:
- 允许的来源:
https://mydomain.com(含子域名需求可填https://*.mydomain.com) - 允许的方法:勾选
GET、HEAD(加载媒体资源仅需这两种方法) - 允许的标头:留空或填
*(常规资源加载无需自定义头) - 公开的标头:留空即可
- 最大年龄(秒):设为
86400(24小时,可按需调整)
- 允许的来源:
- 保存CORS规则
4. 验证配置有效性
- 直接访问Blob资源URL(如
https://test.blob.core.windows.net/1.jpg),应返回403禁止访问 - 在
mydomain.com中嵌入该Blob资源,确认能正常加载 - 用其他域名或浏览器地址栏直接访问,确认被拦截
若需更精细化控制(比如仅允许特定路径资源访问),可结合Azure存储共享访问签名(SAS),在Cloudflare Worker中动态生成有效签名,确保仅网站发起的请求能获取合法访问权限,但上述基础配置已能满足多数场景需求。
内容的提问来源于stack exchange,提问作者user3351503
相关产品推荐
相关产品推荐

