全部产品
  • 首页 > 
  • 配置CDN加速的OSS跨域访问失败

配置CDN加速的OSS跨域访问失败

KB: 40130

 · 

更新时间:2021-06-24 13:30

问题描述

使用CDN加速OSS跨域访问失败。

问题原因

用户第一次访问CDN时,CDN会检查是否包含数据,然后回源到源站进行访问。源站进行对比将数据经过CDN时会反馈给客户端浏览器。浏览器比对Access-Control-Allow-Origin后,允许正确则跨域正常。 当第二个用户访问时,CDN检测到这个文件,会直接给客户端反馈缓存页面。CDN之所以跨域访问失败是因为CDN缓存了OSS未配置CORS之前的文件及其头部,造成客户端浏览器判断失败,不允许访问。

解决方案

配置对应跨越访问参数的值,具体操作如下:

  1. 登录CDN控制台
  2. 在左侧导航栏,单击域名管理
  3. 域名管理页面,单击目标域名对应的管理
  4. 在指定域名的左侧导航栏,单击缓存配置>HTTP头

  5. HTTP头设置页面,单击 添加
  6. 分别配置HTTP头Access-Control-Allow-OriginAccess-Control-Allow-MethodsAccess-Control-Max-Age参数值,配置示例如下。
  7. 配置以上参数之后只要在CDN节点访问就会包含3个头部信息,不会影响正常访问。且在跨域验证时保证了正常使用。测试结果如下。
    TB1nRb4JFXXXXaZXXXXXXXXXXXX-811-372.png

适用于

  • CDN

如果您的问题仍未解决,您可以在阿里云社区免费咨询,或提交工单联系阿里云技术支持。