varnishncsa не показывает вывод

У меня есть варнших на моем RHEL6.x. Несмотря на то, что лак, varnishlog и varnishstats показывают правильные данные, varnisncsa не регистрирует какие-либо данные, даже когда выполняется без каких-либо определенных параметров. Я lsofed весь процесс и убедился, что они читают правильный файл _.vsm. Что может случиться, что приводит к тому, что varnishncsa выдает пустой вывод?

Мой файл /etc/sysconfig/varnishncsa выглядит следующим образом

#NCSA log format, to be used by HTTP log analyzers
VARNISHNCSA_ENABLED=yes
# Include log entries which result from communication with a backend server.
LOG_BACKEND=no
# Include log entries which result from communication with a client.
LOG_CLIENT=yes
#extra options to varnishncsa
DAEMON_OPTS="$DAEMON_OPTS -F '%{Host}i %h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\"'"

1 ответ

Используете ли вы Varnish как "прозрачный прокси" с " return(pipe) "?

В этом случае, если вы используете return(pipe), придется изменить его на return (pass).

С https://www.varnish-cache.org/docs/2.1/tutorial/vcl.html

проходить

Когда вы вернетесь, передайте запрос, и последующий ответ будет передан и от внутреннего сервера. Это не будет кешироваться. pass можно вернуть из vcl_recv

труба

Труба также может быть возвращена из vcl_recv. Короткое замыкание по трубопроводу клиент и внутренние соединения и Varnish будут просто сидеть и перетасовывать байты туда-сюда. Varnish не будет просматривать данные, отправляемые туда и обратно, поэтому ваши журналы будут неполными. Помните, что с HTTP 1.1 клиент может отправлять несколько запросов по одному и тому же соединению, и поэтому вы должны дать Varnish команду добавить заголовок "Connection: close" перед тем, как он действительно вернется.

Другие вопросы по тегам