Re: вопрос по autoindex

Igor Sysoev igor на sysoev.ru
Ср Июн 16 15:22:10 MSD 2010


On Wed, Jun 16, 2010 at 02:44:59PM +0400, Anton Kiryushkin wrote:

> Брр... не въехал. И видимо изначальная задача уже потерялась.
> Нужно сделать так, чтобы по запросу http://local.ru у меня открывалось
> хранилище файлов, то есть обзор файлов через http. Это должно быть
> доступно только для определенной подсети. Для всех остальных эта
> возможности должна быть исключена.
> 
> По предложенному варианту получается, что у меня будет открываться
> корень, но все вложенные папки будут отдавать 403-ю ошибку.
> Хочется как-то более оптимальнее сделать конфиг, который бы позволял
> просмотр для всех вложенных папок для определенной сети.
> Может в autoindex опцию такую добавить? Штука-то полезная.

         autoindex_exact_size on;  # не нужен: default
         root /tmp/;

         location ~ /$ {
             allow 192.168.77.64;
             deny all;
             autoindex on;
         }

         location = / {
             allow 192.168.77.64;
             deny all;
             autoindex on;
         }

         location / {
             autoindex  off;     # не нужен: default
         }


> 2010/6/16 Igor Sysoev <igor at sysoev.ru>:
> > On Wed, Jun 16, 2010 at 02:24:14PM +0400, Anton Kiryushkin wrote:
> >
> >> Ок, а что делать если папок штук 100 ?
> >
> > Если в конфигурации нет явного описания каталога:
> >
> >         location /abc/ {
> >             autoindex  off;
> >         }
> >
> > то location
> >
> >         location = /abc/ {
> >             autoindex  on;
> >            ...
> >         }
> >
> > не нужен.
> >
> >> 2010/6/16 Igor Sysoev <igor at sysoev.ru>:
> >> > On Wed, Jun 16, 2010 at 01:59:49PM +0400, Igor Sysoev wrote:
> >> >
> >> >> On Wed, Jun 16, 2010 at 10:59:41AM +0400, Anton Kiryushkin wrote:
> >> >>
> >> >> > Возвращаясь к проблеме.
> >> >> > Начал экспериментировать на другом сервере.
> >> >> > Конфиг следующий:
> >> >> >
> >> >> > server {
> >> >> >         listen 192.168.77.1:80;
> >> >> >         server_name local.ru;
> >> >> >         error_log /var/log/nginx/local_nginx.error.log debug;
> >> >> >         root /tmp ;
> >> >> >
> >> >> >         location ~ /$ {
> >> >> >             allow 192.168.77.64;
> >> >> >             deny all;
> >> >> >             root /tmp/;
> >> >> >             autoindex on;
> >> >> >             autoindex_exact_size on;
> >> >> >         }
> >> >> >         location / {
> >> >> >                 autoindex  off;
> >> >> >                 root /tmp/;
> >> >> >         }
> >> >> >
> >> >> >     }
> >> >> >
> >> >> > Обращаюсь как раз с 192.168.77.64 на 192.168.77.1 и получаю 403-ю
> >> >> > ошибку. Ниже приаттачиваю отладочный лог.
> >> >> > Подскажите пожалуйста в чем я не прав?
> >> >>
> >> >> Это похоже на ошибку в nginx'е: у меня воспроизводится.
> >> >
> >> > Это не ошибка, а фича: если запрос полностью совпал с location'ом, то
> >> > регулярные выражения не проверяются. Нужно явно описать "= /":
> >> >
> >> >         autoindex_exact_size on;  # не нужен: default
> >> >         root /tmp/;
> >> >
> >> >         location ~ /$ {
> >> >             allow 192.168.77.64;
> >> >             deny all;
> >> >             autoindex on;
> >> >         }
> >> >
> >> >         location = / {
> >> >             allow 192.168.77.64;
> >> >             deny all;
> >> >             autoindex on;
> >> >         }
> >> >
> >> >         location / {
> >> >             autoindex  off;     # не нужен: default
> >> >         }


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



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