Можно ли записать данные ответов в журнал доступа nginx?
13
Я пытаюсь распечатать данные ответов для целей разработки / отладки. Я не мог найти похожий вопрос или какую-либо информацию по этому вопросу. Если вы делаете, пожалуйста, добавьте комментарий.
В коде мы, кажется, помещаем первые 1000 байтов из блока ответа и помещаем в resp_body, то есть в эту строку "resp_body = string.sub (ngx.arg [1], 1, 1000)". Есть ли конкретная причина для этого быть 1000.
Дун
В моем случае это не дает мне тело ответа, но дает мне путь к журналу, как это "resp_body:" "access_log / usr / local / openresty / nginx / logs / access.logupstreamlog" Не могли бы вы подсказать, что не так?
Я думаю, что я предпочел бы использовать ngx.DEBUG. CRIT может быть распечатан на консоли, отправлен по электронной почте всей команде сисадминов и т. Д.
Ответы:
Используйте
body_filter_by_lua
для назначения тела запроса переменной nginx, вот пример:источник
использовать модуль ngx_lua
как это
в правом
location
источник
ngx.DEBUG
. CRIT может быть распечатан на консоли, отправлен по электронной почте всей команде сисадминов и т. Д.Я нашел это, например , и я думаю, что модуль эха также может это сделать.
источник