由于网站加载字体资源使用的是cdn的域名,这样主域名和cdn域名就形成跨域访问,在主域名的网站无法加载资源域名中的字体。
处理这种跨域,只要设置Access-Control-Allow-Origin,允许目标域名访问就可以了。
在资源类的域名下做如下Nginx配置。
#nginx配置
location ~ .*\.(eot|ttf|ttc|otf|eot|woff|woff2|svg)(.*) {
add_header Access-Control-Allow-Origin http://www.yourdomain.com;
}
配置好后,reload nginx配置,再刷新CDN缓存,就可以了。CDN也会缓存原始资源的Response Header。
Access-Control-Allow-Origin 头部只能设置一个域名,不能设置多个。如果要支持多个域名,简单的做法是设置成 “*”。
#nginx配置
add_header Access-Control-Allow-Origin *;