Welcome! Log In Create A New Profile

Advanced

Re: логирование location

Maxim Dounin
June 23, 2010 01:02PM
Hello!

On Wed, Jun 23, 2010 at 11:11:50PM +0700, Igor V. Fatkulin wrote:

>
> Всем доброго времени суток.
>
> Пытаюсь сделать запись средствами nginx логирование обращений к
> определенному location, пытался сделать что-то типа:
>
> location ~ ^/cgi-bin/script.cgi\?(.+)$ {
> log_format scriptlog '$http_referer';
> access_log logs/$1.log scriptlog;
> }
>
> по итогу либо лог не создается, либо такое ощущение, что локейшн
> начинает на себя сгребать все запросы к скрипту, в результате все
> перестает работать.

Side note: ни разу не понятно какое отношение ваше письмо имеет к
треду "Critical errors nginx под Windows 2003". Если никакого -
то зачем было отвечать в тред c In-Reply-To?

По существу:

1. Вы неправильно понимаете как работают location'ы. Для
обработки запроса используется *только один location*. Никакого
волшебного склеивания конфигураций описанных в разных location'ах
не происходит.

Если вы хотите чтобы запросы логгировались отдельно и отправлялись
на апач - так и напишите в наиболее специфичном location'е для
данных запросов.

2. При matching'е location'ов тестируется только путь из URL,
т.е. "/cgi-bin/script.cgi". Так что написанное про '\?(.+)'
смысла не имеет и приведёт только к тому что данный location не
будет срабатывать для запросов к /cgi-bin/script.cgi.

3. Регулярные выражения тут не нужны. Идеально подойдёт location
с проверкой точного совпадения.

Итого писать надо как-то так:

location = /cgi-bin/script.cgi {
access_log /path/to/log format;
proxy_pass ...
}

Если в имени log-файла действительно нужны аргументы запроса
(настоятельно не рекомендую без нужды - это лишние открытия файлов
на каждый запрос и лишний вектор для dos'а), то использовать
переменную $args (aka $query_string).

Maxim Dounin

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

логирование location

Igor V. Fatkulin June 23, 2010 12:14PM

Re: логирование location

Sergey Shepelev June 23, 2010 12:56PM

Re: логирование location

Boris Dolgov June 23, 2010 01:00PM

Re: логирование location

Igor Sysoev June 23, 2010 01:08PM

Re: логирование location

Maxim Dounin June 23, 2010 01:20PM

Re: логирование location

Maxim Dounin June 23, 2010 01:02PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 191
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready