Maxim Dounin
April 25, 2013 12:08PM
Hello!

On Thu, Apr 25, 2013 at 11:05:30AM -0400, X-Thief wrote:

> Пытаюсь сделать чтоб 444 http ошибки записывались в другой лог файл.
>
> Делал так:
>
> error_page 444 = @log444;
> location @log444 {
> access_log log444.txt;
> }
>
> Файл создался, но ничего в него не записывается. Ошибки по прежнему пишутся
> в прежний стандартный лог-файл.
>
> Чуть ниже у меня условия, где выдаются такие ошибки. Эти условия находятся
> как и в location { так и просто в server {
>
> Вроде этого:
> if ($something) {
> return 444;
> }
>
> Может кто что посоветовать?
> Спасибо.

Возврат 444 ошибки - это способ сказать nginx'у, что соединение
надо закрыть. До директивы error_page в этом случае дело не
доходит.

Если хочется, чтобы nginx закрыл соединение, и при этом отдельно
залогировал соответствующий запрос - то можно сделать это, перейдя
в нужный location перед возвратом 444, как-то так:

error_page 418 = @close;

if ($something) {
return 418;
}

location @close {
access_log /path/to/444.log;
return 444;
}

--
Maxim Dounin
http://nginx.org/en/donation.html

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Re: Не записывается access log

Maxim Dounin April 25, 2013 12:08PM

Re: Не записывается access log

mva April 30, 2013 08:00AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 129
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready