最近打开心种子首页,就看到加载用的圆圈圈在那里转呀转,死活就是进不到页面中,换个浏览器也是时好时坏的。这种事之前也碰到过,通常的做法就是系统升级、程序升级以及插件升级,基本上都能解决。但这次事出突然,频率还很高,升级也不好使了。
F12呼出开发者工具,几个明显错误中,有几个类似的,大体上如下:

Access to font at 'xxxxxxx' from origin 'https://www.mindseed.cn' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

貌似是跨域资源共享(CORS)没设置好,可以前用的好好的,为啥最近突然出现问题了呢?
进入服务器控制台,阿里云通知CDN要升级成DCDN,并从8月15日下线原有的CDN服务。从出问题的时间来看,倒是挺符合的,难道就是因为它?
通知中让提交工单申请,那就试试呗,让阿里云的工程师帮忙排查一下。结果CDN早就被我换成DCDN了,当初还是为了申请谷歌广告才换的((见《谷歌广告联盟(Google AdSense)审核不通过,提示网站已下线或无法访问》)。顺带把错误信息给工程师,回复要对OSS的跨域资源共享设置一下。
按照阿里云的官方文档,具体操作如下:

  1. 登录OSS管理控制台。
  2. 单击Bucket列表,然后单击目标Bucket名称。
  3. 在左侧导航栏,选择数据安全>跨域设置。
  4. 在跨域设置页面,单击创建规则。
  5. 在创建跨域规则面板,将来源设置为,允许Methods全部勾选,允许Headers设置为,暴露Headers设置为ETag和x-oss-request-id,缓存时间设置为0,选中返回Vary: Origin,然后单击确定。
说明
选中 返回Vary: Origin以避免本地缓存错乱,可能会造成浏览器访问次数或者CDN回源次数增加。

阿里云OSS跨域资源共享设置.png

本来以为就主站有问题,没想到打开心站日志,所有的图片都无法显示,使用Microsoft Edge倒是一切正常,用F12查看,图片报404错误,原因跟上面类似,也是跨域资源共享的问题。
按照上面的方法重复操作一遍,刷新页面有恢复正常了。

记录这个事的时候,在本站搜索CDN竟然发现其实之前已经设置过一次了,这次不知道为什么设置没了又得重新来一次。个人估计之前时CDN和DCDN两个都在用,等CDN下线之后DCDN跟OSS的配置发生了变化。

最后修改:2024 年 08 月 23 日
如果觉得我的文章对你有用,请随意赞赏