Nginx
無法通過 Nginx 提供 NextJS 靜態資產
我有一個在埠 3000 上執行的 NextJS 應用程序,並且我有一個
test.ico
位於以下位置的文件:/static/images/icons/
我希望從根目錄而不是實際路徑中提供此文件。我的意思是而不是**https://www.shandillia.com/static/images/icons/test.ico,我希望它可以作為https://www.shandillia.com/test.ico**使用。我可以很容易地配置我的 Express 伺服器來提供這個文件,但我想讓 Nginx 處理這個。所以我在我的 Nginx conf 伺服器塊中添加了以下配置:
location / { proxy_pass http://127.0.0.1:3000; charset UTF-8; proxy_http_version 1.1; } location /test.ico { proxy_pass http://127.0.0.1:3000/static/images/icons/test.ico; expires 365d; add_header Pragma public; add_header Cache-Control "public"; } location ~* \.(?:ico|svg|woff|woff2|ttf|otf|css|js|gif|jpe?g|png)$ { proxy_pass http://127.0.0.1:3000; expires 365d; add_header Pragma public; add_header Cache-Control "public"; }
但是,https ://www.shandillia.com/test.ico 現在正在拋出 404。我做錯了什麼?
正則表達式
location
優先於正則前綴location
塊。有關詳細資訊,請參閱此文件。您可以使用以下任何一種來更改優先順序:
location = /test.ico location ^= /test.ico location ~ ^/test.ico