В настоящее время я работаю над настройкой Varnish (v3), но мне было интересно, есть ли у кого-нибудь какие-либо советы по поводу следующего.
Я пытаюсь использовать функцию Header () в PHP для установки собственного заголовка, например, Test: CustomHeader. Конечная цель - предоставить Varnish возможность обслуживать кэшированные страницы, ЕСЛИ браузер в этом случае не добавил что-то в корзину для покупок. Я думал, что в моем конфигурационном файле VCL я могу сделать что-то вроде:
if (bereq.http.Test ~ "CustomHeader") {
set beresp.ttl = 0s;
return (hit_for_pass);
}
Однако, это всегда оценивается как false \ no match. Если я установлю его на
if (bereq.http.Test != "CustomHeader") {
set beresp.ttl = 0s;
return (hit_for_pass);
}
Затем всегда срабатывает hit_for_pass, что наводит меня на мысль, что с настройкой заголовка что-то не так. Я подумал, что это может быть из-за того, что заголовок PHP не будет установлен из-за всей цели кэша, но изучение заголовков в varnishlog НЕ показывает, что заголовок клиента появляется, что вызывает недоумение! Кроме того, доступ к рассматриваемой странице всегда приводит к попаданию в кэш.
У кого-нибудь есть какие-либо советы \ советы по поводу такого рода манипуляций с заголовками в Varnish?
Большое спасибо
-B