我在Nginx配置中匹配某些文件扩展名时遇到问题。我在 Debian x64 上运行 nginx / 1.11.6 。
我有这个配置:(位于服务器{}块)
location ~* \.(ttf|ttc|otf|eot|woff|woff2|css|js)$ {
add_header Access-Control-Allow-Origin "*";
}
它应该允许从任何域访问所有这些类型的资源。但它对woff
和woff2
无效。
我试过这个:
location ~* \.woff2$ {
return 403;
}
但即使这样做也没有。
CURL测试的结果如下:
curl -s -I -X GET https://cdn.xxxxx.xxx/font.woff2
HTTP/1.1 200 OK
Server: nginx
Date: Mon, 21 Nov 2016 22:41:27 GMT
Content-Type: font/woff2
Content-Length: 14552
Last-Modified: Mon, 21 Nov 2016 22:31:42 GMT
Connection: keep-alive
ETag: "583375ce-38d8"
Expires: Wed, 21 Dec 2016 22:41:27 GMT
Cache-Control: max-age=2592000
Cache-Control: public
Accept-Ranges: bytes
知道我哪里错了吗?
答案 0 :(得分:0)
我的问题是expires.conf
包含woff
和woff2
的选择器,并且此文件始终包含在内。由于某种原因,无法匹配一个文件两次。合并这两个选择器解决了这个问题。
如果有更好的解决方法,请发表回答或评论。谢谢。
了解@Richard Smith的comment可能存在哪些问题。