2014-01-13 1 views
0

Я использую версию 3.0.2 для предварительно скомпилированной версии Windows с cygwin, и это может быть связано с проблемой.Varnish (ошибка или некорректная конфигурация) If-None-Match и If-Modified-так как всегда пусто

Я пытаюсь захватить

  • If-None-Match
  • If-Modified-Since

заголовки

заголовки отправляются браузером, я могут видеть в инструментах разработчика, что они отправляются в лак, но я не могу вытащить значение в лак.

Я попытался

  • Получение значения в верхней части vcl_recv и установки новых заголовков (в случае, если значения были overidden)
  • Я попытался как
    • req.http.If -Ни-матч и req.http.If-Modified-С
    • bereq.http.If-None-Match и bereq.http.If-Modified-С

Должны ли эти работы? Я пытаюсь получить доступ к значению в vcl_fetch

Любой, имеющий аналогичную проблему?

+0

кажется, что вы не можете получить подлинный If-Modified-Since If-None-Match в vcl_recv или vcl_fetch, но если перенести код vcl_deliver это все работает правильно. Я не знаю, является ли это ошибкой или преднамеренным, но, похоже, решает мою проблему. – Simon

+0

Если кто-нибудь знает, как получить доступ к заголовкам в recv или fetch, мне все равно будет интересно узнать – Simon

ответ

0

Оба заголовка должны быть доступны в vcl_fetch. Вы должны иметь возможность подтвердить это с помощью минимального файла VCL, который просто перекликает эти два заголовка с клиентом в качестве заголовков ответов.

backend default { 
    .host = "127.0.0.1"; 
    .port = "80"; 
} 

sub vcl_fetch { 
    set beresp.http.X-If-Modified-Since = req.http.If-Modified-Since; 
    set beresp.http.X-If-None-Match = req.http.If-None-Match; 
} 

Если это не работает для вас, пожалуйста, напишите «varnishlog» выход, предпочтительно для некэшированного ответа. Существуют ли другие HTTP-прокси между браузером и лаком?

Следует отметить, что лак делает отфильтровывает оба заголовка при выполнении запросов на бэкэнд, поэтому, если вам нужно получить доступ к этим заголовкам из кода приложения, вам необходимо скопировать их в vcl_recv.

 Смежные вопросы

  • Нет связанных вопросов^_^