Принудительно кешировать файлы с помощью Nginx

Я пытаюсь принудительно кешировать файлы этого типа: css, woff, otf, js, jpg, jpeg, gif, png, ico, cur, gz, svg, svgz, mp3, mp4, ogg, ogv и файлы без расширения .

Я могу кэшировать некоторые изображения и mp3-файлы, но остальные всегда в состоянии: X-Cache MISS

proxy_cache_path /tmp/test keys_zone=test:10m loader_files=300 max_size=4g;

location ~* (^/.*(css|woff|otf|js|jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp3|mp4|ogg|ogv)$|^/web/image.*) {
          proxy_cache test;

          proxy_cache_methods GET HEAD;
          proxy_cache_lock on;

          proxy_ignore_headers Set-Cookie;
          proxy_ignore_headers X-Accel-Expires;
          proxy_ignore_headers Expires;
          proxy_ignore_headers Cache-Control;

          add_header Pragma "public";
          add_header Cache-Control "public";
          add_header X-Cache $upstream_cache_status;
          access_log off;
          expires 12h;

          proxy_pass http://test;
  }

ПОЛУЧИТЬ:

  • Принять: text / css, /; q = 0,1
  • Принятие кодировки: gzip, deflate, br
  • Accept-Language: es-ES, es; q = 0,8, en-US; q = 0,5, en; q = 0,3
  • Cache-Control: без кеширования
  • Подключение: keep-alive
  • DNT: 1
  • Прагма: без кеширования

Nginx:

  • Кэш-контроль: max-age = 43200
  • Подключение: keep-alive
  • Кодирование содержимого: gzip
  • Тип содержимого: текст / CSS
  • Дата: пятница, 15 декабря 2017 г., 10:20:22 GMT
  • ETag: W / "XXXXXXXXXX"
  • Истекает: Fri, 15 Dec 2017 22:20:22 GMT
  • Сервер: nginx
  • Кодирование передачи: фрагментированное
  • Vary: Accept-Encoding
  • X-Cache-Status: MISS
  • Параметры X-Content-Type: nosniff

Спасибо


person jbelenus    schedule 15.12.2017    source источник


Ответы (1)


Попробуй добавить

proxy_cache_valid 200 1d; 

сохранить в кеше все файлы, соответствующие вашему местоположению, которые имеют состояние http 200 в течение 1 дня

person Hans Möbius    schedule 07.11.2018