Re: Контроль доступа
Igor Sysoev
igor на sysoev.ru
Вт Окт 5 15:02:36 MSD 2010
On Tue, Oct 05, 2010 at 02:03:02PM +0400, Влад Максимов wrote:
> > On Tue, Oct 05, 2010 at 01:50:12PM +0400, Влад Максимов wrote:
> > > А подскажите по настройке контроля доступа. Как?
> > >
> > > Такое ощущение, что в конструкции
> > > ...
> > > location /restrictedbacked {
> > > allow XXX.XXX.XXX.XXX;
> > > deny all;
> > >
> > > rewrite ^(.+)$ /backend$1;
> > > }
> > > ...
> > >
> > > rewrite срабатывает раньше, чем allow/deny
>
> > Да. Скрипач^Wrewrite не нужен:
> > locaiton /restrictedbacked {
> > ...
> > proxy_pass http://backend/backend/restrictedbacked;
> > }
>
> Не, не, Дэвид Блейн!
>
> Я правильно понимаю, что я не могу на уровне nginx запретить доступ к отдельным урлам сайта в случае,
> когда всё проксируется на бэкенд?
>
> То есть в случае чего-то в духе
>
> location / {
> ...
> proxy_pass http://backend/....;
> }
>
> запретить доступ к /restrict (который точно также работает с backend'oм) с помощью простого
> ...
> location /restricted {
> allow ...;
> deny ...;
> }
> ...
> я не могу, и мне нужно полностью дублировать для такого location'а всю "начинку" и / ?
>
> То есть делать "полноценный" location, скопировав (ну или через include) всё то, что стоит в описании /
> ...
> location /restricted {
> allow ...;
> deny ....;
> ....
> proxy_pass http://backend/backend/....;
> ...
> }
> ...
Именно. Идея конфигурирования nginx'а заключается в том, чтобы концентрировать
всю логику обработки в одном месте, умещающемся на одном экране, а не
размазывать по конфигу с нетривиальныи связями, даже если для этого нужно
больше писать. Для небольшого конфига это кажется дикостью, но когда конфиг
разрастается до ощутимых размеров, начинаешь понимать, что такое счастье.
Я, кстати, инклуды небольших кусков не люблю - конфигурация не так очевидна.
--
Игорь Сысоев
http://sysoev.ru
Подробная информация о списке рассылки nginx-ru