Re: forbidden вместо 404 ошибки

Igor Sysoev igor на sysoev.ru
Чт Ноя 17 09:49:17 UTC 2011


On Thu, Nov 17, 2011 at 03:26:14AM -0500, estless wrote:
> Привет,
> прошу помощи, ибо не могу для себя
> объяснить некоторое nginx-поведение ;(
> в основном nginx.conf  написал:
> index 	  index.xml index.html;
> 
> есть виртуальный хост, следующего
> содержания:
> server {
>    ...
>    server_name
> ~^(some.some.example.com|some.some.[a-z0-9]+.example.com);
>    root /usr/local/www/ololo/;
>    ...
> }
> при попытке гет-запроса в логах вижу
> сдедующее:
> 638#0: *1 directory index of "/usr/local/www/ololo/" is forbidden, 
> server: ~^(some.some.example.com|some.some.[a-z0-9]+.example.com),
> request: "GET / HTTP/1.1", host: "some.some.host.example.com"
> 
> ==> /var/log/nginx/access.log <==
> [17/Nov/2011:12:13:11 +0400] "GET / HTTP/1.1" 403 140 "-" 
> [17/Nov/2011:12:13:11 +0400] some.some.host.example.com  "GET /
> HTTP/1.1" 403 "-" 
> 
> 
> Это уже странно, файлов индексов в этой
> директории нет, все права проставлены
> правильно - это перепроверено
> несколько раз (не отсылайте пожалуйста
> к выставлению chmod), почему forbidden?
> 404-я ошибка определена через отдельный
> include и отлично работает на других
> виртуальных хостах, а этот вот forbidden не
> понимаю что с ним делать. Если
> определить error 404 403 = 404, то конечно все
> нормально и вместо 403 будет нормально
> отдаваться 404, но мне это кажется
> костылем, а с непонятным forbidden хочется
> разобраться, посоветуйте пожалуйста
> что не так.

Это стандартное поведение со времён Апача.
Если на запрос "/dir/" нет индексного файла и автолистинг запрещён,
то выдаётся 403.


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



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