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;
И всё будет.