У меня включен один входящий поток на NGINX и, по крайней мере, для восходящего потока в качестве резервной копии. В какой-то момент основной апстрим был недоступен, и NGINX начал посылать запросы прокси в циклическом режиме между двумя резервными копиями, но одна из них была недоступна, и NGINX сервер вышел из строя: ошибка апстрима недоступна. Что я пробовал:
- Добавить
http_521
к proxy_next_upstream
- NGINX не распознает этот код - Используется вместо NGINX переменная:
proxy_pass https://urltosomeupstream-1.com;
Здесь мой конфиг:
defautl.conf
server {
listen $PORT;
server_name hello-world.mydomain.com;
location / {
limit_req zone=mylimit burst=10 nodelay;
proxy_hide_header 'access-control-allow-origin';
add_header 'access-control-allow-origin' '*';
proxy_ssl_server_name on;
proxy_pass http://hello-world;
proxy_next_upstream error timeout http_500 http_502 http_503 http_504 http_429;
}
}
upstream hello-world {
server mydomain.com:2002 max_fails=3 fail_timeout=10s backup;
server mydomain.com:2001 max_fails=3 fail_timeout=10s backup;
server mydomain.com:2000 max_fails=3 fail_timeout=10s;
}
server {
listen 2001;
resolver 8.8.8.8;
resolver_timeout 5s;
location / {
set $upstream https://urltosomeupstream-1.com;
proxy_ssl_server_name on;
proxy_pass $upstream;
proxy_read_timeout 20s;
}
}
server {
listen 2002;
resolver 8.8.8.8;
resolver_timeout 5s;
location / {
set $upstream https://urltosomeupstream-2.com;
proxy_ssl_server_name on;
proxy_pass $upstream;
proxy_read_timeout 20s;
}
}