Firefox似乎不允许使用跨域字体。为了从网页以外的域提供字体,需要使用Access-Control-Allow-Origin
标头提供字体文件。我目前正在通过NGINX这样做。
location ~* .(ttf|woff|eot|otf)$ {
add_header Access-Control-Allow-Origin *;
expires 8d;
}
这完全正常,但是如果我不想使用*
,我想知道标题的正确值是什么。将是我用于CDN的子域名?该网站的域名?我如何指定多个值?
答案 0 :(得分:1)
它需要是你请求资源的地方。
我们假设您使用域http://example.com
的字体,然后添加Access-Control-Allow-Origin: http://example.com
。您可以空间分隔多个来源。
在某些浏览器中,多个域会导致问题。在这种情况下,您可以以编程方式读取响应的Origin
标头,针对某些白名单进行检查,并使用Access-Control-Allow-Origin
标头中的相同值进行响应。 IMO,后者将是最佳实践。
附加说明
Access-Control-Allow-Origin
标头的值需要包含方案(例如http),域(例如example.com)和端口(仅当它不是默认端口时)。