connection retry, proxy_pass retry?

Sergey Serov mpa at corg.net
Tue Sep 26 22:00:22 MSD 2006


On Tuesday 26 September 2006 17:58, drmarker wrote:
> Привет.
>
> Можно ли с помощью upstream_module сделать что-нибудь типа connection
> retry при proxy_pass?
>
> FE (nginx) и BE (apache), территориально разнесены, связь между ними
> не идеальная, бывают перебои до двух-трех минут. В логах появляются
> строчки типа:
>
> upstream timed out (110: Connection timed out) while connecting to upstream
> recv() failed (113: No route to host) while reading response header
> from upstream
>
> Можно ли как-то сделать, чтобы FE при обрыве сделал ЕЩЕ попытку для
> ЭТОГО ЖЕ request?

Можно, у меня это отлично работает.
Есть три зеркала в разных странах, каждое шлет запрос локалхосту, а если 
ошибка, то повторяет запрос на другой сервер.


    upstream backend {
        server localhost:59040 weight=100000;
        server localhost:59040 weight=100000;
        server a:59040 weight=1;
        server b:59040 weight=1;
        server c:59040 weight=1;
    }

        location / {
            expires epoch;
            fastcgi_pass   backend;
            fastcgi_upstream_max_fails 0;
            fastcgi_next_upstream error timeout invalid_header http_500;
            fastcgi_read_timeout 10;
            fastcgi_connect_timeout 5;
            include fastcgi_param.conf;
        }







More information about the nginx-ru mailing list