查了一堆,都说开了cdn的问题,问题是没开啊
找了很多很多文章,大部分都是说配置,以下总结几个原因
1.oss跨越规则设置(ps:多半都不会是这个原因…)
2.开了cdn,(ps:估计很多人也不会这个原因)
(转):在用户第一次访问cdn,cdn会检查数据没有,回源到源站进行访问。源站对比将数据经过cdn反馈给客户端浏览器。浏览器比对Access-Control-Allow-Origin 后,允许正确,所以跨域正常。 当第二个用户访问时,cdn检测有这个文件,所以会直接给客户端反馈缓存页面。由于CDN之所以失败是因为CDN缓存了OSS未配置cors之前的文件及其头部,造成客户端浏览器判断失败,不允许访问。所以出现了跨域失败。
解决办法:
CDN直接提供了Access-Control-Allow-Origin、Access-Control-Allow-Methods、Access-Control-Max-Age