[网站更新]wordpress添加cdn与跨域资源共享 | 折腾日志

该文章主要介绍此次网站更新的内容与所遇到的问题

更新内容

  1. 更新ssl证书(旧证书快过期了)
  2. 添加cdn

问题:文件加载 / “CORS”

cdn设置好后,任意打开一个页面,通过F12控制台查看cdn的请求是否正常返回。这些请求中,有的正常,有的错误(但code为200),无法加载的请求中排除与cdn无关的请求(登录状态的头像,wordpress默认设置的是gravatar.com的一张图),剩下便是字体文件、部分的脚本文件,如果在浏览器中空referer访问相应的url,能获取相应的内容。

(中间忘了错误请求控制台上能看原因,折腾了半天)浏览器控制台中的报错如下:

Access to script at ‘xxx’ from origin ‘xxx’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.

这受到了浏览器自带的CORS(跨域资源共享)策略的影响,这个策略以用户安全为目的,控制跨域资源的加载。(cdn域名与该页面的域名不同,使得部分资源的加载被拒绝)

解决方案:在cdn / 源站(其一/二者均添加)添加相应的响应头

  • Access-Control-Allow-Origin
  • Access-Control-Allow-Methods

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注