WordPress配置CDN后字体的跨域(CORS)问题
什么是跨域(CORS)?
跨域指的是:浏览器不能执行其他网站的脚本,从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域。跨域是由浏览器的同源策略造成的,是浏览器施加的安全限制。a页面想获取b页面资源,如果a、b页面的协议、域名、端口、子域名不同,所进行的访问行动都是跨域的。
什么文件最容易产生跨域问题?
字体文件,如.tff、woff文件等。
怎么解决?
源站配置跨域
apache:
1 | <Directory /> |
nginx(主要针对字体文件):
1 | location ~ .*.(eot|ttf|ttc|otf|eot|woff|woff2|svg)(.*) |
若不是字体文件引起的跨域则可以在server段添加add_header Access-Control-Allow-Origin *;
CDN配置跨域
以腾讯云为例:


配置过后重启nginx或apache、刷新CDN缓存,Crtl+F5强制刷新页面,跨域问题消失。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Hyper Tech!
评论