2016-11-21 106 views
0

我在我的Nginx配置中匹配某些文件擴展名時遇到問題。我正在運行nginx/1.11.6Debian x64Nginx與某些文件擴展名不匹配

我有這樣的配置:(位於服務器{}塊)

location ~* \.(ttf|ttc|otf|eot|woff|woff2|css|js)$ { 
    add_header Access-Control-Allow-Origin "*"; 
} 

應該允許所有這些類型的資源來自任何域的訪問。但它不適用於woffwoff2

我已經試過這樣:

location ~* \.woff2$ { 
    return 403; 
} 

但不會連這個做任何事情。從捲曲測試

結果是這樣的:

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

您要麼正在編輯錯誤的'server'塊,要麼有一個衝突的'location'或'rewrite'語句先進入。 –

回答

0

我的問題是expires.conf包含woffwoff2的選擇器,並且始終先包含此文件。出於某種原因,您不能匹配一個文件兩次。合併這兩個選擇器解決了這個問題。

如果有更好的方法來解決這個問題,請發表一個答案或評論。謝謝。

@Richard Smithcomment知道哪裏可能存在問題。

相關問題