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