Назад | Перейти на главную страницу

varnishlog для доступа к телу POST (лак 4.x)

Бег varnishd (лак-4.1.0 ревизия 3041728), и ведение журнала с использованием

varnishlog -q "BerespStatus >= 500"

Я хотел бы знать, можно ли распечатать POST-контент. На сервере работает служба XML-RPC, которая иногда возвращает 500. В журнале ничего нет, поэтому я хотел бы знать, какой метод XMLRPC проблематичен.

Какие-либо предложения ?

Varnish (и, следовательно, varnishlog & varnishncsa) не дает вам доступа к телу http ни в запросе, ни в ответе. Поэтому использовать ванильный лак невозможно.

Сказав это, можно вставить встроенный C код в ваш VCL. Следовательно, технически вы можете получить доступ к данным POST, используя некоторый собственный код C и использовать std.log чтобы записать в журналы те биты, которые вам небезразличны.

Похоже, что есть некоторые существующие VMOD, которые обращаются к данным POST (например, vmod_bodyaccess), но вам, вероятно, потребуется выполнить дополнительный синтаксический анализ, чтобы получить метод XML-RPC.

Отказ от ответственности: Я бы не рекомендовал приближаться к встроенному C, если вы действительно не знаете, что делаете. Кроме того, я не пробовал никаких упомянутых здесь VMOD, поэтому не могу сказать, насколько они подходят.