Ваш сервер отправляет «Cache-Control: no-cache» в Varnish, что подразумевает две вещи:
- Varnish не будет хранить ответ в кеше (поэтому следующий поиск не удастся)
- Ваши клиенты (браузеры и промежуточные прокси-серверы) не будут кэшировать ответы (и запрашивать их снова и снова).
Решение простое: убрать заголовки контроля кэша после извлеченияответ от серверной части (и перед сохранением их в кеше).
В вашем файле vcl выполните:
sub vcl_fetch {
remove beresp.http.Cache-Control;
set beresp.http.Cache-Control = "public";
}
Вы можете сделать это только для определенных URL-адресов (переносэто в ( if req.url ~ "" )
логике) и делать более продвинутые вещи.