| Nginx-ru mailing list archive (nginx-ru@sysoev.ru) [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
 Re: allow/deny and return
 
 Hello!
On Tue, Oct 15, 2013 at 03:59:53PM +0300, Gena Makhomed wrote:
> On 15.10.2013 15:45, Maxim Dounin wrote:
> 
> >>В такой конфигурации:
> >>
> >>location /closed {
> >>   allow 10.1.1.1;
> >>   deny all;
> >>   return 200 "secret\n";
> >>}
> >>
> >>allow/deny ни на что не влияют.
> >>
> >>IMHO стоит написать об этом в документации, момент не очевидный с первого 
> >>взгляда.
> >
> >Если ты готов предолжить хороший способ написать об этом - мы с
> >удовольствием.
> >
> >Я, например, хорошего способа не знаю.  Потому что не с первого
> >взгляда - момент в общем-то очевидный (у прочитавших документацию
> >на модуль rewrite вопросов, как мне кажется, возникнуть не
> >должно), а как это корректно рассказать не читавшим...
> 
> в документации http://nginx.org/en/docs/http/ngx_http_access_module.html
> ничего не написано о том, что директивы allow и deny работают не всегда.
> 
> я прочитал http://nginx.org/en/docs/http/ngx_http_rewrite_module.html
> но так и не смог понять, почему allow и deny тут не будут работать.
Потому что директивы модуля rewrite - это фактически часть выбора 
конфигурации.  И именно от выбранной конфигурации зависит, что 
можно, а что - нельзя.
> это все похоже на BUG, потому что пользователи обычно подразумевают,
> что сначала работает access module и только потом - rewrite_module.
> 
> по крайней мере, в UNIX и даже в WINDOWS все работает именно так:
> если доступа к файлу нет, никаких операций с ним сделать нельзя.
В Антоном конфиге нет файла.  Есть инструкция "при выборе 
конфигурации для обработки запросов вернуть ответ с кодом 200".
(И да, я таки считаю, что возможность задавать тело ответа была 
добавлена в диркетиву return зря, не её это работа.  Надо было 
сделать отдельный модуль a la empty gif, подобных вопросов было бы 
меньше.  Но таки этот фарш уже поздно проворачивать назад.)
-- 
Maxim Dounin
http://nginx.org/en/donation.html
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
 |