Vreau să pun în cache câteva fișiere statice folosind Nginx. Dar cumva nu o pot face să funcționeze.
Acesta este al meu nginx.conf
:
utilizator www-date;
worker_proceses auto;
pid /run/nginx.pid;
includ /etc/nginx/modules-enabled/*.conf;
evenimente {
conexiuni_muncitor 768;
#multi_accept on;
}
http {
#GZIP
gzip on;
gzip_vary on;
gzip_proxied orice;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_versiunea 1.1;
gzip_min_length 256;
aplicație gzip_types/aplicație javascript/aplicație json/ld+aplicație json/font xml/font eot/font otf/text ttf/text css/text javascript/text simplu/xml;
# SERVERE
Server {
asculta 80;
nume_server example.com;
dacă ($http_host ~* ^www\.(.*)$ )
{
returnează 301 https://$1$request_uri;
}
returnează 301 https://$http_host$request_uri;
}
Server {
asculta 443 ssl;
dacă ($http_host ~* ^www\.(.*)$ )
{
returnează 301 $scheme://$1$request_uri;
}
#SSL
ssl_certificate /root/.acme.sh/example.com/fullchain.cer;
ssl_certificate_key /root/.acme.sh/example.com/example.com.key;
nume_server example.com;
# Transferați tot traficul către aplicația mea web
Locație / {
proxy_set_header Gazdă $gazdă;
proxy_pass http://localhost:8080;
}
#Browser cache
locație ~* \.(js|css)$ {
expiră 180d;
add_header Pragma „public”;
add_header Cache-Control „public”;
}
locație ~* \.(jpg|jpeg|png|webp|woff|woff2|ttf)$ {
expiră 365d;
add_header Pragma „public”;
add_header Cache-Control „public”;
}
}
}
Problema se bazează în partea „Browser caching”. Când activez acest bloc de cod, site-ul meu se încarcă, dar toate fișierele css, fișierele javascript și imaginile returnează un 404. Este ca și cum acele fișiere îmi ignoră Locație /
.
Am reușit să rezolv această problemă prin copiere/lipire
proxy_set_header Gazdă $gazdă;
proxy_pass http://localhost:8080;
în toate mele Locație
-blocuri, dar asta nu este chiar elegant și de fapt a făcut ca site-ul meu să se simtă mult mai lent...
Am încercat și eu să le mut pe cele două Locație
-blocuri pentru memorarea în cache a browserului în bloc Locație \
astfel că acesta din urmă ar acționa ca „părinte”. Dar asta nu a întâmpinat comportamentul imaginilor etc., care revin 404.
Cum aș configura stocarea în cache a fișierelor statice în Nginx?