Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Ограничеие доступа к файлам
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
|