У меня есть 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-адресе меньше трех обращений.