WordPress 设置 CDN 后字体无法正确加载的解决办法

马谦马谦马谦 Wordpress评论1,483字数 595阅读 1 分 59 秒阅读模式

一、问题描述

给网站加了 CDN 后,网页的部分字体加载不出,同时一些图标也会显示异常:

WordPress设置CDN后字体无法正确加载的解决办法-图片1

控制台报以下错误:

WordPress设置CDN后字体无法正确加载的解决办法-图片2

二、跨域

跨域问题指的是网页源站和网页内的资源不处于同一站点,由于安全问题浏览器将会限制网页对站点的访问。一个简单的例子:

A 站是一个银行网站,登录后会显示用户的余额等信息,此时 B 站点获取到 A 的 cookies 等信息,然后把自己伪装成银行的网站,用户进入到 A 站点进行操作,B 站利用获取到的 cookies 等信息到 A 站来提取请求,成功获取到用户的信息,造成了安全问题。

三、解决方法

利用 CORS 机制可以解决跨域问题,简单的做法就是 HTTP 请求头中加入 Access-Control-Allow-Origin 字段。在 nginx 中,可以在 server 块添加以下内容允许跨域:

domain 改成需要跨域的域名即可,或者直接使用*允许所有跨域访问。

对于 wordpress 字体无法访问的情况可以在配置文件中加入以下代码:

保存重启 nginx 就可以了,如果需要立即生效还需要手动刷新 cdn 缓存——这是很关键的一步,如果没有刷新 cdn 缓存,就算是修改了 nginx,把浏览器刷爆也是没用的 (不要问我怎么知道的。。。往事不堪回首) 。

 

 
马谦马谦马谦
  • 本文由 马谦马谦马谦 发表于 2017 年 11 月 25 日 12:30:40
  • 转载请务必保留本文链接:https://www.dyxmq.cn/cloud/wordpress/wordpress-cors.html
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定

拖动滑块以完成验证