ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: error_page и limit_conn


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: error_page и limit_conn
  • From: Костенко Евгений <nobody.mail@xxxxxxxxx>
  • Date: Fri, 8 Apr 2011 15:46:38 +0400
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:from:date :message-id:subject:to:content-type; bh=U/SNuxN4HWm0/csM8qasIp1DA4MMeY3ullBYku40vC0=; b=CXPmSk6ff7cogl1I2hMZRN/RNscMQh3KN7gKfHNpERfJkSnO3qgmN1i8QathhWUyAd L3fH1tCdV0d8e8Ya6uSjwO5iGTiWAT9g70BnpFXWsjo5Y+AfubXtLffu8/qyEQ8+5BI4 cn5DRPOXB3xJTGVljpQAEuKOHocFavf5brc8U=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; b=jVcOrpHPM7wY7jZzvT4UBm6ZbWDIf6RYPTpy6FfB1BhCdsTSxvarcfempzis/LHB0p afH6iwofGYIgdVnot346qGXtrNfZ0DoubANNhDLd3/CkuTwt5lblz9TWRckMA6Q+wEin wcK4siieQ+0g00kqEyxa1ydKmae2jhsE3P924=
  • In-reply-to: <20110408112759.GJ89017@xxxxxxxxxx>
  • References: <BANLkTinOkzT6tiT-rZa6w0Mu3tiFkWBGUQ@xxxxxxxxxxxxxx> <20110408112759.GJ89017@xxxxxxxxxx>

8 апреля 2011 г. 15:27 пользователь Maxim Dounin <mdounin@xxxxxxxxxx> написал:

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@xxxxxxxxx
skype: nobody.ru

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.