ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Конфликт allow, deny с error_page в внутри server или ошибка конфигурации?



Maxim Dounin писал 2013-02-27 22:05:
Hello!

On Wed, Feb 27, 2013 at 09:19:03PM +0400, subscribe@xxxxxxxx wrote:

Доброго времени суток сообществу.
Странная проблема замечена с nginx.
Пример моей конфигурации:

server {

[...]

allow 10.0.0.0/8;
        deny all;

location / {
        index index.php;
}

[...]

include /etc/nginx/error_pages.conf;
        location /error_pages/ {
               internal;
               root /srv/http/webstatic/html;
        }

}
Содержимое /etc/nginx/error_pages.conf:
error_page 400 /error_pages/400.html;
error_page 401 /error_pages/401.html;
error_page 402 /error_pages/402.html;
error_page 403 /error_pages/403.html;

[...]

При такой конфигурации перестаёт работать error_page 403. Вместо
того, что задано, nginx отдаёт стандартную страничку ошибки. Если
перенести директивы allow, deny в внутрь location /
Отдаёт указанную страничку нормально. С остальными страничками
проблем не замечено.
Пробовал указывать уровень логирования debug в error_log, но ничего
подозрительного по данной проблеме не заметил.
В чём может быть дело?

У вас запрещён доступ к /error_pages/403.html, и nginx не может
отдать 403-ю ошибку.  Решение - дописать в "location /error_pages/"

    allow all;

И всё будет.

Спасибо, Максим! Помогло.

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.