Мы используем лак перед ведром AWS S3, и все работает очень хорошо, поскольку у нас был показатель совпадений 98,4%, что спасло нас от очень больших счетов за S3!
Теперь наши приложения должны иметь возможность запрашивать файлы, которые могут существовать, а могут и не существовать. Когда это произойдет, Varnish сделает запрос к S3 и получит ответ 403 (отказано в доступе). Мы перехватываем этот ответ в функции vcl_error, поскольку он позволяет нам отображать пользовательское сообщение об ошибке. Поскольку мы ожидаем 400-500 запросов в секунду, из которых около 40% приходится на файлы, которые еще не существуют, у нас возникнут проблемы с затратами на S3.
Мой вопрос: возможно ли, чтобы Varnish помнил, что файл вернул 403, и вернул кешированный ответ? Я бы хотел, чтобы Varnish подождал 5 минут, прежде чем запрашивать файл из бэкэнда. Мы запускаем Varnish 3.
Я прочитал документацию, которая, кажется, предполагает, что я могу использовать «set obj.ttl = 5m;» в функции vcl_error, но это не работает.
Спасибо! Алан