if и переменная http_remote_addr

Igor Sysoev is at rambler-co.ru
Tue Jul 5 13:11:13 MSD 2005


On Tue, 5 Jul 2005, Gregory Gasenko wrote:

>>> Не отрабатывает rewrite при использовании в конфиге конструкции:
>>>
>>> if ($http_remote_addr ~ !^192\.168\.3[2-5]\.) {
>>>     rewrite ^(.*)$ http://domain.com/ permanent;
>>> }
>> Переменная называется $remote_addr. Это не строка заголовка запроса.
>> Кстати, переменная, формируемая модулем ngx_http_geo_module,
>> возможно, будет быстрее работать.
>
> спасибо, но теперь осталась еще небольшая проблема, не отрабатывается
> отрицание :( + можно ли в if использовать несколько логических
> выражений? И как называется переменная, формируемая модулем
> ngx_http_geo_module?

Отрицание сейчас не работает.
Несколько выржений внутри if сейчас использовать нельзя.

Переменные geo делаются так:

http {
     geo  $redirect  {
         default           0;
         192.168.32.0/24   1;
         10.1.0.0/16       1;
     }

     server {
         if ($redirect) {
             ...
         }


Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list