Re: Применение директивы для определенного IP адреса

Oleg A. Mamontov oleg на mamontov.net
Вс Окт 23 20:54:41 UTC 2016


On Sun, Oct 23, 2016 at 03:52:58PM -0400, maxpostal wrote:
> Почитал http://nginx.org/ru/docs/http/ngx_http_map_module.html, спасибо.
> 
> То есть код:
> 
> map $http_x_forwarded_for $key {
>       5.187.78.183 1;
> }
> 
> создает новую переменную $key и если значение текущего IP клиента -
> $http_x_forwarded_for соответствует нужному IP-адресу - 5.187.78.183, то
> переменной $key присваивается значение 1?
> 
> и соответственно лимиты:
> limit_req_zone $key zone=perserver:10m rate=1r/s;
> limit_conn_zone $key zone=perip:10m;
> 
> будут использоваться только для этого IP, для всех других $key будет
> пустым.
> 
> А как же сделать, чтобы этот IP выступал в виде исключения?

map $http_x_forwarded_for $key {
    5.187.78.183 '';
    default $http_x_forwarded_for;
}

> Может так?
> 
> if (!$key) {
>       limit_req_zone $binary_remote_addr zone=perserver:10m rate=1r/s;
>       limit_conn_zone $binary_remote_addr zone=perip:10m;
> }
> 
> Posted at Nginx Forum: https://forum.nginx.org/read.php?21,270039,270493#msg-270493
> 
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru

-- 
Cheers,
Oleg A. Mamontov

mailto: oleg at mamontov.net

skype:  lonerr11
cell:   +7 (903) 798-1352



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