Экспресс JS |Настройка заголовка кэша для файлов JPEG - PullRequest
0 голосов
/ 11 октября 2019

Я пытаюсь настроить Cache-Control для моих файлов статических изображений. Я могу установить этот заголовок для файлов HTML и JS:

JS file cache

Но с файлами JPEG:

JPEG Cache

При обслуживании моих статических файлов я использую MaxAge, CacheControl и immutable:

app.use(
    express.static("./build", {
      maxAge: cacheTime,
      extensions: ["html"],
      cacheControl: true,
      immutable: true,
    })
  );

, а также пытаюсь установить кэш для каждого запроса, используя:

app.use((req, res, next) => {
    (res as Response).set("Cache-Control", "public, max-age=31557600");
    (res as Response).set("Accept-Encoding", "gzip");
    next();
  });

Дело в том, что это работает на моем LocalHost ... Я вижу элемент управления кэша изображения. Но при развертывании на сервере NameCheap с использованием приложения Cpanel Node JS я получаю результаты выше. Может кто-нибудь увидеть, где моя ошибка или нет разницы в том, почему один кеширует, а другой нет? Или есть какие-то подсказки, как это выяснить?

1 Ответ

0 голосов
/ 12 октября 2019

Конфигурация экспресс-сервера была правильной. Поскольку Apache обслуживал изображения, а не экспресс, я добавил в свой файл .htaccess следующее:

<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf|webp)$">
Header set Cache-Control "max-age=604800, public"
</FilesMatch>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...