У меня есть сервер websocket, работающий за обратным прокси-сервером nginx. Но когда мне иногда нужно перезапустить службу node.js, и клиенты напрямую получают connect() failed (111: Connection refused) while connecting to upstream
Есть ли способ дать nginx подождать 5-10 секунд и повторить попытку, прежде чем разрывать соединение?
upstream websocket {
server 127.0.0.1:3000 max_fails=3 fail_timeout=30s;
}
server {
server_name .......;
location / {
proxy_hide_header 'access-control-allow-origin';
add_header 'access-control-allow-origin' '$http_origin' always;
proxy_pass https://websocket;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Host $host;
}
ssl_certificate /etc/letsencrypt/live/....../fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/....../privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
listen 443 ssl; # managed by Certbot
}