通过带有NGINX的CDN的Firefox字体 - Access-Control-Allow-Origin标头

时间:2014-05-03 00:16:38

标签: firefox nginx fonts

Firefox似乎不允许使用跨域字体。为了从网页以外的域提供字体,需要使用Access-Control-Allow-Origin标头提供字体文件。我目前正在通过NGINX这样做。

location ~* .(ttf|woff|eot|otf)$ {
        add_header Access-Control-Allow-Origin *;
        expires 8d;
}

这完全正常,但是如果我不想使用*,我想知道标题的正确值是什么。将是我用于CDN的子域名?该网站的域名?我如何指定多个值?

1 个答案:

答案 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)和端口(仅当它不是默认端口时)。

W3C Spec