Re: вопрос по autoindex
Anton Kiryushkin
swood на fotofor.biz
Ср Июн 16 10:59:41 MSD 2010
Возвращаясь к проблеме.
Начал экспериментировать на другом сервере.
Конфиг следующий:
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-ю
ошибку. Ниже приаттачиваю отладочный лог.
Подскажите пожалуйста в чем я не прав?
2010/5/27 Igor Sysoev <igor at sysoev.ru>:
> On Thu, May 27, 2010 at 01:12:20PM +0400, Anton Kiryushkin wrote:
>
>> 2010/5/27 Igor Sysoev <igor at sysoev.ru>:
>> > On Thu, May 27, 2010 at 12:27:01PM +0400, Anton Kiryushkin wrote:
>> >
>> >> Да, есть. В нем проблема? Вот его конфиг.
>> >> location /other/path {
>> >> rewrite ^(.*)file$ http://host.com/path/to/file break;
>> >> root /root/path;
>> >> }
>> >
>> > Похоже, не в нём. А что предполагается делать в этом location'е ?
>> > Что должен делать - непонятно, но виден ход мысли трансляции с RewriteRule.
>>
>> Реврайт на с одного файла на другой. Больше ничего.
>
> Это редирект или что ?
>
>> >> Так же есть описание для файлов .php$ и стаб статус.
>> >
>> > 403 выдаётся на любой запрос ?
>>
>> На любой, связанный с autoindex. Файлы при этом отдаются нормально по
>> прямой ссылке.
>
> Адреса правильно описаны ?
> Нужен отладочный запрос.
>
>> >> 2010/5/27 Igor Sysoev <igor at sysoev.ru>:
>> >> > On Thu, May 27, 2010 at 12:06:18PM +0400, Anton Kiryushkin wrote:
>> >> >
>> >> >> Если включаю так:
>> >> >> location ~ /$ {
>> >> >> Получается 403 ошибка.
>> >> >
>> >> > Для всех адресов ? Ещё location'ы, кроме двух описанных, есть ?
>> >> >
>> >> >> 2010/5/27 Igor Sysoev <igor at sysoev.ru>:
>> >> >> > On Thu, May 27, 2010 at 11:39:18AM +0400, Anton Kiryushkin wrote:
>> >> >> >
>> >> >> >> Понятно. А location = / в этом случае работает только с /, при этом
>> >> >> >> остальные действия работают из первого?
>> >> >> >> Тогда получается, что location / позволяет обращаться к файлам папки,
>> >> >> >> но не дает получить autoindex, второй location = / позволяет увидеть
>> >> >> >> autoindex только для / но не позволяет получить autoindex вложенных
>> >> >> >> папок.
>> >> >> >> Можно ли это обойти? Чтоб и файлы было видно для определенной подсети,
>> >> >> >> и скачать можно было.
>> >> >> >> Я так понимаю что мне нужно создать исключения для каждой из папок, но
>> >> >> >> это не очень красивое решение.
>> >> >> >
>> >> >> > Если я правильно понял вышеизложенное, то так:
>> >> >> >
>> >> >> > location ~ /$ {
>> >> >> > allow XX.XXX.XXX.XX/XX;
>> >> >> > deny all;
>> >> >> > root /path/to/folder;
>> >> >> > autoindex on;
>> >> >> > autoindex_exact_size on;
>> >> >> > }
>> >> >> >
>> >> >> > location / {
>> >> >> > root /path/to/folder;
>> >> >> > }
>> >> >> >
>> >> >> > То есть,
>> >> >> >
>> >> >> > 1) на запросы вида "/", "/dir/", "/dir/dir1/" для указанных сетей
>> >> >> > показывает autoindex; для остальных - 403.
>> >> >> >
>> >> >> > 2) на запросы вида "/dir", "/dir/dir1" для всех выдаётся редирект
>> >> >> > на соответсвенно "/dir/", "/dir/dir1/";
>> >> >> >
>> >> >> > 3) на запросы вида "/file", "/dir/file", "/dir/dir1/file" для всех
>> >> >> > выдаётся запрошенный файл.
>> >> >> >
>> >> >> >
>> >> >> > --
>> >> >> > Игорь Сысоев
>> >> >> > http://sysoev.ru
>> >> >> >
>> >> >> > _______________________________________________
>> >> >> > nginx-ru mailing list
>> >> >> > nginx-ru at nginx.org
>> >> >> > http://nginx.org/mailman/listinfo/nginx-ru
>> >> >> >
>> >> >>
>> >> >>
>> >> >>
>> >> >> --
>> >> >> Best regards,
>> >> >> Anton Kiryushkin,
>> >> >> _______________________________________________
>> >> >> nginx-ru mailing list
>> >> >> nginx-ru at nginx.org
>> >> >> http://nginx.org/mailman/listinfo/nginx-ru
>> >> >
>> >> > --
>> >> > Игорь Сысоев
>> >> > http://sysoev.ru
>> >> >
>> >> > _______________________________________________
>> >> > nginx-ru mailing list
>> >> > nginx-ru at nginx.org
>> >> > http://nginx.org/mailman/listinfo/nginx-ru
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> Best regards,
>> >> Anton Kiryushkin,
>> >> _______________________________________________
>> >> nginx-ru mailing list
>> >> nginx-ru at nginx.org
>> >> http://nginx.org/mailman/listinfo/nginx-ru
>> >
>> > --
>> > Игорь Сысоев
>> > http://sysoev.ru
>> >
>> > _______________________________________________
>> > nginx-ru mailing list
>> > nginx-ru at nginx.org
>> > http://nginx.org/mailman/listinfo/nginx-ru
>> >
>>
>>
>>
>> --
>> Best regards,
>> Anton Kiryushkin,
>> _______________________________________________
>> nginx-ru mailing list
>> nginx-ru at nginx.org
>> http://nginx.org/mailman/listinfo/nginx-ru
>
> --
> Игорь Сысоев
> http://sysoev.ru
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru
>
--
Best regards,
Anton Kiryushkin,
-------------- next part --------------
2010/06/16 11:16:10 [debug] 49858#0: accept on 192.168.77.1:80, ready: 1
2010/06/16 11:16:10 [debug] 49858#0: malloc: 2832D000:2048
2010/06/16 11:16:10 [debug] 49858#0: *8 accept: 192.168.77.64 fd:3
2010/06/16 11:16:10 [debug] 49858#0: *8 event timer add: 3: 60000:1081744066
2010/06/16 11:16:10 [debug] 49858#0: *8 kevent set event: 3: ft:-1 fl:0025
2010/06/16 11:16:10 [debug] 49858#0: *8 malloc: 28314000:4096
2010/06/16 11:16:10 [debug] 49858#0: *8 malloc: 28319000:4096
2010/06/16 11:16:10 [debug] 49858#0: *8 http process request line
2010/06/16 11:16:10 [debug] 49858#0: *8 recv: eof:0, avail:315, err:0
2010/06/16 11:16:10 [debug] 49858#0: *8 recv: fd:3 315 of 4096
2010/06/16 11:16:10 [debug] 49858#0: *8 http request line: "GET / HTTP/1.1"
2010/06/16 11:16:10 [debug] 49858#0: *8 http uri: "/"
2010/06/16 11:16:10 [debug] 49858#0: *8 http args: ""
2010/06/16 11:16:10 [debug] 49858#0: *8 http exten: ""
2010/06/16 11:16:10 [debug] 49858#0: *8 http process request header line
2010/06/16 11:16:10 [debug] 49858#0: *8 http header: "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*"
2010/06/16 11:16:10 [debug] 49858#0: *8 http header: "Accept-Language: ru"
2010/06/16 11:16:10 [debug] 49858#0: *8 http header: "UA-CPU: x86"
2010/06/16 11:16:10 [debug] 49858#0: *8 http header: "Accept-Encoding: gzip, deflate"
2010/06/16 11:16:10 [debug] 49858#0: *8 http header: "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; WOW64; SV1; .NET CLR 2.0.50727; .NET CLR 1.1.4322)"
2010/06/16 11:16:10 [debug] 49858#0: *8 http header: "Host: local.translate.ru"
2010/06/16 11:16:10 [debug] 49858#0: *8 http header: "Connection: Keep-Alive"
2010/06/16 11:16:10 [debug] 49858#0: *8 http header done
2010/06/16 11:16:10 [debug] 49858#0: *8 event timer del: 3: 1081744066
2010/06/16 11:16:10 [debug] 49858#0: *8 generic phase: 0
2010/06/16 11:16:10 [debug] 49858#0: *8 add cleanup: 28319534
2010/06/16 11:16:10 [debug] 49858#0: *8 generic phase: 1
2010/06/16 11:16:10 [debug] 49858#0: *8 test location: "/"
2010/06/16 11:16:10 [debug] 49858#0: *8 using configuration "/"
2010/06/16 11:16:10 [debug] 49858#0: *8 http cl:-1 max:1048576
2010/06/16 11:16:10 [debug] 49858#0: *8 generic phase: 3
2010/06/16 11:16:10 [debug] 49858#0: *8 post rewrite phase: 4
2010/06/16 11:16:10 [debug] 49858#0: *8 generic phase: 5
2010/06/16 11:16:10 [debug] 49858#0: *8 add cleanup: 28319550
2010/06/16 11:16:10 [debug] 49858#0: *8 generic phase: 6
2010/06/16 11:16:10 [debug] 49858#0: *8 generic phase: 7
2010/06/16 11:16:10 [debug] 49858#0: *8 access phase: 8
2010/06/16 11:16:10 [debug] 49858#0: *8 access phase: 9
2010/06/16 11:16:10 [debug] 49858#0: *8 post access phase: 10
2010/06/16 11:16:10 [debug] 49858#0: *8 content phase: 11
2010/06/16 11:16:10 [debug] 49858#0: *8 open index "/tmp/index.html"
2010/06/16 11:16:10 [debug] 49858#0: *8 stat() "/tmp/index.html" failed (2: No such file or directory)
2010/06/16 11:16:10 [debug] 49858#0: *8 http index check dir: "/tmp"
2010/06/16 11:16:10 [debug] 49858#0: *8 content phase: 12
2010/06/16 11:16:10 [debug] 49858#0: *8 content phase: 13
2010/06/16 11:16:10 [debug] 49858#0: *8 content phase: 14
2010/06/16 11:16:10 [error] 49858#0: *8 directory index of "/tmp/" is forbidden, client: 192.168.77.64, server: local.ru, request: "GET / HTTP/1.1", host: "local.translate.ru"
2010/06/16 11:16:10 [debug] 49858#0: *8 http finalize request: 403, "/?" 1
2010/06/16 11:16:10 [debug] 49858#0: *8 http special response: 403, "/?"
2010/06/16 11:16:10 [debug] 49858#0: *8 http set discard body
2010/06/16 11:16:10 [debug] 49858#0: *8 mod_zip: entering header filter
2010/06/16 11:16:10 [debug] 49858#0: *8 HTTP/1.1 403 Forbidden
Server: nginx
Date: Wed, 16 Jun 2010 11:16:10 GMT
Content-Type: text/html
Content-Length: 564
Connection: keep-alive
Keep-Alive: timeout=15
2010/06/16 11:16:10 [debug] 49858#0: *8 write new buf t:1 f:0 283195C0, pos 283195C0, size: 172 file: 0, size: 0
2010/06/16 11:16:10 [debug] 49858#0: *8 http write filter: l:0 f:0 s:172
2010/06/16 11:16:10 [debug] 49858#0: *8 http output filter "/?"
2010/06/16 11:16:10 [debug] 49858#0: *8 copy filter: "/?"
2010/06/16 11:16:10 [debug] 49858#0: *8 mod_zip: entering main request body filter
2010/06/16 11:16:10 [debug] 49858#0: *8 http postpone filter "/?" 2831975C
2010/06/16 11:16:10 [debug] 49858#0: *8 write old buf t:1 f:0 283195C0, pos 283195C0, size: 172 file: 0, size: 0
2010/06/16 11:16:10 [debug] 49858#0: *8 write new buf t:0 f:0 00000000, pos 080E3820, size: 116 file: 0, size: 0
2010/06/16 11:16:10 [debug] 49858#0: *8 write new buf t:0 f:0 00000000, pos 080E3300, size: 46 file: 0, size: 0
2010/06/16 11:16:10 [debug] 49858#0: *8 write new buf t:0 f:0 00000000, pos 080E3340, size: 402 file: 0, size: 0
2010/06/16 11:16:10 [debug] 49858#0: *8 http write filter: l:1 f:0 s:736
2010/06/16 11:16:10 [debug] 49858#0: *8 http write filter limit 0
2010/06/16 11:16:10 [debug] 49858#0: *8 writev: 736 of 736
2010/06/16 11:16:10 [debug] 49858#0: *8 http write filter 00000000
2010/06/16 11:16:10 [debug] 49858#0: *8 copy filter: 0 "/?"
2010/06/16 11:16:10 [debug] 49858#0: *8 http finalize request: 0, "/?" 1
2010/06/16 11:16:10 [debug] 49858#0: *8 set http keepalive handler
2010/06/16 11:16:10 [debug] 49858#0: *8 http close request
2010/06/16 11:16:10 [debug] 49858#0: *8 http log handler
2010/06/16 11:16:10 [debug] 49858#0: *8 free: 28319000, unused: 1967
2010/06/16 11:16:10 [debug] 49858#0: *8 event timer add: 3: 25000:1081709067
2010/06/16 11:16:10 [debug] 49858#0: *8 free: 28314000
2010/06/16 11:16:10 [debug] 49858#0: *8 hc free: 00000000 0
2010/06/16 11:16:10 [debug] 49858#0: *8 hc busy: 00000000 0
2010/06/16 11:16:10 [debug] 49858#0: *8 tcp_nodelay
Подробная информация о списке рассылки nginx-ru