113 votes

Définition d'en-têtes d'expiration pour le contenu statique servi par nginx

J'utilise nginx pour héberger mon contenu statique. Existe-t-il un moyen de définir les en-têtes d'expiration pour chaque fichier qui répond à une règle spécifique ? Par exemple, puis-je définir l'en-tête d'expiration pour tous les fichiers dont l'extension est '.css' ?

3voto

user161646 Points 31

Si vous avez un endroit qui abrite tous vos fichiers statiques, quelque chose comme ceci fera l'affaire...

 location /static {
            your/location/to/static/files/static;
            expires 30d;
            add_header Cache-Control "public";
    }

La réponse acceptée faisait que nginx ne trouvait aucun de mes fichiers statiques. Je ne sais pas vraiment pourquoi, mais c'est une alternative simple.

-1voto

Mo Kawsara Points 101

Étape 1 : Configuration des en-têtes Cache-Control et Expires :

sudo nano /etc/nginx/sites-available/default

Ajoutez ce qui suit au-dessus du server bloc :

# Expires map
map $sent_http_content_type $expires {
    default                    off;
    text/html                  epoch;
    text/css                   max;
    application/javascript     max;
    ~image/                    max;
}

Et cette ligne dans server bloc. expires $expires;

sudo systemctl restart nginx

Fuente: DigitalOcean

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X