Как сохранять POST-значения в access-логи nginx’a
// 17 Січня, 2013 | 8211 переглядів | коментарів (0)
Если есть необходимость сохранения в лог обращений к веб-серверу nginx значения, переданные через POST, то это делается довольно просто.
Добавляем в конфиг nginx’a дополнительный log_format
с именем, к примеру main_post
(сама переменная называется $request_body
):
log_format main_post '$remote_addr - [$time_local] '
'$host "$request" $status $bytes_sent [$request_body] '
'"$http_referer" "$http_user_agent" '
'"$gzip_ratio" $upstream_response_time';
И теперь осталось только указать этот формат вторым параметром access_log
:
access_log /var/log/nginx/access.log main_post;
Сразу скажу о двух важных моментах:
- Если к логам сервера имеет доступ ещё кто-то, то все POST-данные из лога ему станут известны
- Лог может ОЧЕНЬ быстро разбухать в размерах
А в остальном — пользуйтесь!