Одна страница с 5 esi: include, каждый src является одним и тем же путем с разными параметрами, такими как 'm.htm? P = 1' & 'm.htm? P = 2', но я использовал varnishlog и вижу только 1 запрос esi Я не использовал один и тот же путь в нескольких тегах esi: include?Лак ESI должен принимать разницу в пути src?
1
A
ответ
0
Varnish поддерживает по умолчанию n esi: включает директивы на ресурс и до 5 уровней рекурсии ESI для каждого запроса клиента, но это настраивается. Вот список шагов, которые я бы предпринять для отладки:
- Проверьте, чтобы убедиться, что нет
<esi:include />
тегов в ответ на Ваш электронный клиент от лака. Затем убедитесь, что ваш задний конец генерирует столько меток<esi:include />
, сколько вы ожидаете, нажав на него напрямую. Лак виноват только в том случае, если они существуют, а лак не разбирает их. Удостоверьтесь, что нет опечаток и т. Д., Таких как<es:include .../>
- Запросите URL-адреса src из тегов, связанных с esi, непосредственно на ваш серверный сервер. Ошибка сервера? Поведение по умолчанию - игнорировать ошибки в запросах ESI, и я не знаю, сообщит ли их в этом случае varnishlog.
- Проверьте ответные заголовки, возвращенные для фрагментов esi. Если они также кэшируемы, лак не будет запрашивать их у бэкэнда снова до истечения срока их действия и не может записывать их в varnishlog (проверьте документы).
- Удостоверьтесь, что запросы с различными строками хеш строк запроса имеют разные ключи кеша. Если ваш VCL пытается увеличить скорость попадания, игнорируя строки запросов, ваша схема ESI не будет работать, поскольку каждый тег логически включает один и тот же кешированный ресурс.
Не зная, если вы просто заинтересованы в выходе из varnishlog или есть ли вообще симптомы esi-сбоев на самой странице, это все, что я могу собрать.