WhatIsHTML
@WhatIsHTML
HTML программист

Как правильно организовать кеширование на Nginx + NodeJS?

Сайт на NodeJs. Nginx перенаправляет запросы порт, который слушает NodeJs - все просто, но наверное из-за этого и не получается включить кеширование. Что-то пропустил.
Следовал этой статье чтобы настроить кеширование файлов на сервере. Как итог - ничего не кешируется. Также следовал этим советам - не помогло. После каждого изменения перезапускаю nginx sudo systemctl restart nginx
Где ошибка и как включить кеширование?
Конфигурационный файл сайта:
/etc/nginx/sites-available/example.com
server {
    listen 80;
    server_name example.com;
    
    location / {
        proxy_pass http://IP_ADDRESS:PORT;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
     }

}

UPDATE#1
Статические файлы находятся в папке по адресу
/home/example.com/public/dist
NodeJs отдает папку /home/example.com/public

UPDATE#2
в ноде есть такая возможность. Nginx не нужен
app.use(express.static(__dirname + '/../public', { maxAge: '30 days' }));
  • Вопрос задан
  • 467 просмотров
Пригласить эксперта
Ответы на вопрос 1
ky0
@ky0 Куратор тега Nginx
Миллиардер, филантроп, патологический лгун
Добавьте локейшен /public без проксирования, а с указанием на каталог, где располагаются файлы. Если их тоже будет отдавать нода - просто добавьте в локейшен соответствующие заголовки - Cache-Control и т.п.

location /public {
   root /home/example.com/public/;
   add_header Cache-Control "private, max-age=86400";
}

location / {
...
}
Ответ написан
Ваш ответ на вопрос

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

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