Reverse proxy tuning

Artur nginx at netdirect.fr
Fri Jun 10 08:08:14 UTC 2016


Hello !

I have a nginx reverse proxy http/https for a node.js application with
websockets (an extract of the nginx config follows).

I would like to know if there is a way to :

- force nginx to retry connection to the same upstream if there is any
problem with the initial request to the upstream (timeout,
reading/writing timeouts, ...)

- do not blacklist an upstream if any error occurs

- do not retry on another upstream

- adjust timeouts on communications between nginx and upstreams
(connexion, read, write, ...)

I tested some parameters in the 'tests' block below but i'm not sure
that there is any other paramater I can play with.

http {
    upstream application {
        server 127.0.0.1:3030;
        server 127.0.0.1:3031;
        server 127.0.0.1:3032;
    }
}

server {
        location /nodejs/application/ {
                proxy_pass http://application;
                proxy_redirect off; 

                # prevents 502 bad gateway error
                proxy_buffers 8 32k;
                proxy_buffer_size 64k;

                # enables WS support
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection $connection_upgrade;

                # tests
                proxy_connect_timeout 75s;
                proxy_read_timeout 300s;
                proxy_send_timeout 300s;
                proxy_next_upstream off;
       }
}

Thank you for your feedback.

-- 

Best regards,
Artur.



More information about the nginx mailing list