[alert] 886#0: worker process 24832 exited on signal 11

Maxim Dounin mdounin на mdounin.ru
Ср Мар 17 20:19:40 MSK 2010


Hello!

On Wed, Mar 17, 2010 at 12:46:01PM -0400, Sergey wrote:

> А можно немножко подробнее на примере конфига про "Отправлять 
> 400 в именованный location - это плохая идея." и какой тогда код 
> использовать или вообще как-то по другому есть варианты.

Вот такой конфиг приводит к segmentation fault:

    error_page 400 = @something;

    location @something {
        ...
    }

Вот так - работает:

    error_page 400 = /400.html;

    location = /400.html {
        ...
    }

У вас в конфиге написано:

    error_page 400 401 403 405 406 408 = @nocached;

что соответствует первому варианту, приводящему к segmentation 
fault.

Я вообще затрудняюсь сказать зачем оно так написано - ибо если 
клиент пришёл с плохим запросом - ему об этом надо рассказать не 
делая лишних телодвижений, а не пытаться проксировать на бекенд.  

IMHO 400 ошибку лучше вообще не пытаться перехватывать.  Всё равно 
ничего хорошего не получится.

То же относится как минимум ещё и к 408.  Если клиент 
потаймаутился - нафига ходить лишний раз на бекенд?  Но тут хотя 
бы segmentation fault'а не будет.

Maxim Dounin



Подробная информация о списке рассылки nginx-ru