Как включить кэширование картинок в nginx?

Запрос к png-картинке возвращает ETAG, а должен быть Cache-Control. Может кто подсказать, как добиться, чтобы файлы кэшировались? Сайт: Laravel, nginx, php-fpm
# Response headers
date: Wed, 22 May 2019 18:31:50 GMT
etag: "5ce520ac-17d1"
last-modified: Wed, 22 May 2019 10:13:00 GMT
server: nginx/1.14.0 (Ubuntu)
status: 304
strict-transport-security: max-age=15768000; includeSubdomains; preload
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN


server {
        charset utf-8;
        client_max_body_size 128M;
        listen 443 ssl default_server http2;
        server_name SITE;

        ssl on;
        ssl_certificate KEY;
        ssl_certificate_key KEY;
        ssl_trusted_certificate KEY;
        include snippets/ssl.conf;
        include snippets/letsencrypt.conf;

        gzip on;
        gzip_comp_level 5;
        gzip_disable "msie6";
        gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;

        root /home/SITE/public;

        index index.php index.html;

        location / {
            try_files $uri $uri/ /index.php?$query_string;
        }

        location ~ \.php$ {
            #...
        }

        location ~* \.(?:bmp|gif|jpeg|jpg|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc|woff|woff2|txt|tif|doc|pdf|rtf|ttf|xls|ppt|rar|swf|zip)\$ {
                expires 30d;
                access_log off;
                add_header Pragma public;
                add_header Cache-Control "public";
        }

        location ~* \.(?:css|js)\$ {
                expires 14d;
                access_log off;
        }
}
  • Вопрос задан
  • 637 просмотров
Решения вопроса 1
Viji
@Viji
DevOps Engineer
Добавь след строчку в конец конфига:

location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 365d;
}

Лишнего пробела там нет у тебя?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы