Re: error_page и limit_conn
Костенко Евгений
nobody.mail на gmail.com
Пт Апр 8 15:46:38 MSD 2011
8 апреля 2011 г. 15:27 пользователь Maxim Dounin <mdounin at mdounin.ru>написал:
>
> Just a side note: internal тут смысла не имеет, в именованный
> location по другому не попадёшь.
>
спасибо
> Just another side note: BTW, а зачем именованный location +
> rewrite, вместо
>
> error_page ... /sorry.html
>
> location = /sorry.html {
> ...
> }
>
> ?
>
>
там фокус несколько хитрее. sorry.html - это глобальная заглушка,
а у проектов может быть "индивидуальный" 500.htm с логотипом и прочими
красивыми плюшками.
error_page 500 502 503 504 =503 @error500;
location @default500 {
internal;
root /bla/bla/www/htdocs;
set $original_uri $uri;
rewrite ^.*$ /sorry.html break;
access_log /bla/bla/nginx/error500.log outofsrv buffer=1m;
log_not_found on;
}
location @error500 {
internal;
try_files /500.htm @default500;
log_not_found on;
root $root_path;
set $original_uri $uri;
access_log /bla/bla/nginx/error500.log outofsrv buffer=1m;
}
> И, BTW, для POST-запросов такая конструкция с именованным
> location'ом выдаст стандартный текст от 405-й ошибки вместо
> искомого /sorry.html.
>
>
я так понимаю, надо в error_page ловить и 405ю ошибку?
> Отделить 503 от бекенда от 503-ей от limit_conn - можно анализируя
> значение в $upstream_status (если там 503 - значит от бекенда).
> Но делать это в конфиге на if'ах - будут ужасненько, я бы не
> рекомендовал без крайней нужды.
>
Очень жаль. Искал кошерное решения в рамках штатных возможностей. Придется
изобретать костыли.
--
С Уважением,
Костенко Евгений
моб: +7(928)2961142
icq: 101241013
jabber: nobody.mail at gmail.com
skype: nobody.ru
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20110408/a926f27c/attachment-0001.html>
Подробная информация о списке рассылки nginx-ru