Re: Доступ по User-Agent или ip

Oleksandr V. Typlyns'kyi wangsamp at gmail.com
Fri Sep 12 10:56:27 UTC 2014


Today Sep 12, 2014 at 13:19 Anton Sayetsky wrote:

> http://nginx.org/ru/docs/http/ngx_http_core_module.html#satisfy

  Вредный совет.
  Нет access модуля для проверки User-Agent.

> 12 сентября 2014 г., 13:16 пользователь Sergey Kagansky
> <sergeyk at jfrog.com> написал:
> > Добрый день.
> > У меня есть такая конфигурация:
> >
> >     location /test {
> >         include list.ips;
> >         proxy_pass              http://127.0.0.1;
> >     }
> >
> > В файле list.ips содержится список разрешённых IPs в конце файла deny all;
> > И теперь возникла нужда дать доступ к локейшену еще и по User-Agent в
> > дополнение к списку адресов.
> >
> > Пробовал инклюд в if - не работает
> > Пробовал инклюд с переменной - не работает
> > Как то это можно реализовать?

 Задавать значение переменной через geo(http://nginx.org/r/geo/ru) и 
 потом использовать её в map(http://nginx.org/r/map/ru) по $http_user_agent:

 geo $listips {
   default 1;
   127.0.0.1 0;
   192.168.1.0/24 0;
   ...
 }

 map $http_user_agent $nottrusted {
   default $listips;
   "~Opera Mini" 0;
   ...
 }

 location /test {
   if ($nottrusted) {return 403;}
   proxy_pass http://127.0.0.1;
 }

-- 
WNGS-RIPE



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