Назад | Перейти на главную страницу

nginx не пишет в кеш за Varnish

У меня есть nginx в качестве обратного прокси для удаленного веб-сервера. Кэш записан в файл. Однако, когда я помещаю Varnish перед ним, nginx прекращает запись в файл кеша, что снижает производительность и удваивает трафик.

Как это возможно, что интерфейс (Varnish) может сказать nginx не кэшировать эти запросы? Я пытался отладить, но ничего не нашел. Моя конфигурация nginx выглядит примерно так:

server {
... 
  location / {
    ...
    proxy_ignore_headers Set-Cookie Expires Cache-Control;
    proxy_cache p-cache;
  }
}

Опять же, если я сделаю прямой запрос к nginx, проблем не будет. Но я должен использовать Varnish, который является уникальной дверью к другому сервису на этом сервере.

Я нашел это. Это из-за proxy_cache_min_uses = 3 что я установил в другом месте. С этим декларативом nginx не будет кэшировать в файл, если на одном и том же URL-адресе меньше трех обращений.