Re: Переменная для zone в limit_req_zone

Горан Петрыч norman.k77 на gmail.com
Ср Сен 23 15:32:19 UTC 2015


Здравствуйте, в документации не нашел $hostname_and_binary_remote_addr.
Спасибо! То, что нужно!

23 сентября 2015 г., 17:55 пользователь Maxim Dounin <mdounin на mdounin.ru>
написал:

> Hello!
>
> On Wed, Sep 23, 2015 at 05:19:38PM +0300, Горан Петрыч wrote:
>
> > Добрый день,
> >
> > Хотелось бы, чтобы "zone" в limit_req_zone можно было объявить
> динамически. На
> > сервере много виртуальных хостов, которые подхватываются конфигом nginx
> > автоматически (то есть явно не прописываются). Хотелось бы как-то так:
> > limit_req_zone
> > $binary_remote_addr zone=$hostname:10m rate=5r/s; В location / limit_req
> > zone=$hostname burst=5; Но zone переменные воспринимает как просто
> > строку. Задача:
> > лимитировать каждый виртуальный хост отдельно, не перечисляя явно зоны
> для
> > каждого виртуального хоста.
>
> Используйте составной ключ в одной зоне:
>
>     limit_req_zone $hostname$binary_remote_addr zone=limit:10m rate=5r/s;
>
> Возможность использовать строку с несколькими переменными есть в
> nginx 1.7.6+.  В более старых версиях - следует отдельно создать
> переменную, в которую положить нужное.
>
>     limit_req_zone $hostname_and_binary_remote_addr zone=limit:10m
> rate=5r/s;
>
>     server {
>         ...
>
>         set $hostname_and_binary_remote_addr $hostname$binary_remote_addr;
>
>         ...
>     }
>
> --
> Maxim Dounin
> http://nginx.org/
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20150923/dc8edeae/attachment.html>


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