write $request_body to the log

Maxim Dounin mdounin at mdounin.ru
Mon Dec 9 13:26:34 UTC 2013


Hello!

On Mon, Dec 09, 2013 at 04:30:14PM +0400, Daniel Podolsky wrote:

> Добрый день!
> 
> В некотором локейшене хочу принять post и записать его в лог.
> Проксировать его мне никуда не надо, просто принять и записать.
> 
> Данных там не много, должны влезать в память.
> 
> Вроде бы, для этой цели должна подойти переменная $request_body.
> 
> Но в документации написано:
> ===================
> $request_body: тело запроса
> Значение переменной появляется в location'ах, обрабатываемых
> директивами proxy_pass и fastcgi_pass.
> ===================
> 
> По моим наблюдениям - и правда, для локейшенов без проксирования в
> переменной пусто.
> 
> Я чего-то недопонял, или так оно и есть?

Тело запроса читается только в том случае, если оно нужно (e.g, мы 
собрались его передавать на бекенда).  Если не нужно (e.g., при 
возврате статических файлов или ошибок) - оно просто 
отбрасывается, и в этом случае в переменной $request_body будет 
пусто.

-- 
Maxim Dounin
http://nginx.org/



Подробная информация о списке рассылки nginx-ru