Я хочу использовать кеширование etag непосредственно в моем приложении / проверить eTag в моем приложении. Как можно направить заголовок «If-None-Match» на бэкенд? Похоже, что Varnish вырезает этот заголовок по умолчанию.
Вы можете переписать его на другой заголовок, о котором varnish не знает, а затем вместо этого прочитать этот заголовок в своем бэкэнде.
В верхней части vcl_recv попробуйте:
set req.http.X-If-None-Match-Previously = req.http.If-None-Match;
а затем прочтите заголовок X-If-None-Match-Previously в своем приложении.
Я не уверен, как это будет взаимодействовать с вашим кешированием, но он будет передавать данные заголовка, если Varnish удаляет их из своих внутренних запросов.
Хорошо, решил: Varnish не удаляет заголовок If-None-Match. Это было просто мое веб-приложение, доставленное из кеша, пока поступали запросы. Chrome обслуживал старую версию страницы. КАШЕЛЬ. КАШЕЛЬ. КАШЕЛЬ.