Я использую Лак 3.0.2 в Хрипящей системе Debian. Я хотел бы смочь установить пользовательские заголовки и иметь их содержание, появляются в журналах запроса. Однако, хотя я знаю, что заголовки устанавливаются и передаются бэкэнду, их содержание, кажется, не видимо к varnishncsa
.
В моем vcl_recv
Я имею
set req.http.X-my-header = "blahblah";
и для тестирования это - моя пользовательская строка формата для varnishncsa
:
'%{X-my-header}i'
Я должен видеть blahblah
в журнале для каждого запроса. Однако все, что я получаю, -
. Кажется, что мой заголовок не передается до varnishncsa
.
Как я могу включать свои пользовательские заголовки в мои журналы?
Я только что столкнулся с этой проблемой, и это был лучший результат при поиске, поэтому я опубликую здесь свое решение / обходной путь для справок в будущем :)
varnishncsa
может регистрировать значения, установленные std.log ("ключ: значение")
в VCL 1 . Я использовал это, чтобы зарегистрировать свой собственный заголовок. Используя свой пример, добавьте это в свой vcl_recv
:
set req.http.X-my-header = "blahblah";
std.log("X-my-header:" + req.http.X-my-header);
Затем используйте следующее где-нибудь в своей строке logformat для varnishncsa
(обратите внимание на x вместо i после имени заголовка) :
%{VCL_Log:X-my-header}x