Re: Странный баг (или моя ошибка?) с error_page
Maxim Dounin
mdounin at mdounin.ru
Thu Oct 18 14:13:48 UTC 2012
Hello!
On Thu, Oct 18, 2012 at 05:56:23PM +0400, habich99 at mail.ru wrote:
> Доброго времени суток всем.
> Существует примерно следующая конфигурация:
>
> server {
> listen 80;
> server_name site.com;
> include /etc/nginx/conf.d/error_pages.conf;
> [...]
> location /error_pages/ {
> internal;
> root /var/www/;
> }
> }
>
> $ cat /etc/nginx/conf.d/error_pages.conf
>
> error_page 400 /error_pages/400.html;
> error_page 401 /error_pages/401.html;
> error_page 402 /error_pages/402.html;
[...]
> Все страницы ошибок кроме 400 обрабатываются нормально.
> Если выполнить запрос типа: http://site.com/test%00.php - nginx
> отдаёт стандартную страницу ошибки.
>
> Собственно это баг nginx или... ?
При чтении заголовков запроса виртуальный сервер ещё не известен,
т.к. заголовок Host не прочитан и не обработан. Соответственно
чтобы error_page 400 сработал - надо его задать в сервере по
умолчанию для данного listen-сокета.
--
Maxim Dounin
http://nginx.com/support.html
Подробная информация о списке рассылки nginx-ru