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