该文章主要介绍此次网站更新的内容与所遇到的问题
更新内容
- 更新ssl证书(旧证书快过期了)
- 添加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