Ограничеие доступа к файлам

Igor Sysoev is at rambler-co.ru
Tue Dec 25 18:59:50 MSK 2007


On Tue, Dec 25, 2007 at 11:17:54AM +0300, Petrochenko, Alexander wrote:

> Nginx стоит в качестве фронтэнда к Apachу. 
> 
> Потребовалось разграничить доступ к некоторым файлам по IP.
> 
> 
> Делаю так:
> 
>  
> 
>     server {
> 
>     ...
> 
>         access_log  /var/log/nginx/access.log  main;
> 
>         error_log   /var/log/nginx/error.log warn;
> 
>  
> 
>         location / {
> 
>            proxy_pass           http://127.0.0.1:80/;
> 
>            location ~ script1\.pl$ { deny all; }
> 
>            location ~ script2\.pl$ { allow 192.168.0.0/24; deny all; }
> 
>            location ~ script3\.pl$ { allow 192.168.0.0/24; deny all; }
> 
>         }
> 
>     }
> 
>  
> 
> После этого при заходе на http:// test.server.ru/cgi-bin/script1.pl в лог начинает сыпаться:
> 
> 2007/12/24 18:47:58 [error] 37481#0: *209 open() "/usr/local/etc/nginx/html/cgi-bin/script2.pl" failed (2: No such file or directory), client: 212.45.28.30, server: test.server.ru, URL: "/cgi-bin/script1.pl", host: " test.server.ru "
> 
>  
> 
> На сколько понял вложенные location заменяют способ обработки.

Да, proxy_pass не наследуется.

> Скажите как более грамотно ограничивать доступ к файлам по айпишникам ? потому что файлов будет около 10 шт. и плодить в нутрии каждого проксипас не охота.

proxy_pass придётся описать в каждом, но это не относится к остальным
proxy_... директивам - они наследуются.


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





More information about the nginx-ru mailing list