Вам не хватает директивы max-age
от http://nginx.org/en/docs/http/ngx_http_headers_module.html
Не думаю, что вы действительно хотите, чтобы срок действия файлов CSS и JS истек настолько , но я могу ошибаться.
Кроме того, нет входа на изображения и все эти типы файлов? Что делать, если вы получаете горячую ссылку или обслуживаете файлы CSS / JS, которые не могут быть найдены.
Я бы немного переосмыслил управление вашим кэшем.
# Media: images, icons, video, audio, HTC
location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|mp3|ogg|ogv|webm|htc|woff2|woff)$ {
expires 1M;
access_log off;
# max-age must be in seconds
add_header Cache-Control "max-age=2629746, public";
}
# CSS and Javascript
location ~* \.(?:css|js)$ {
expires 1y;
access_log off;
add_header Cache-Control "max-age=31556952, public";
}