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