NGINX [emerg] неверное значение "http_521" - PullRequest
0 голосов
/ 31 января 2020

У меня включен один входящий поток на NGINX и, по крайней мере, для восходящего потока в качестве резервной копии. В какой-то момент основной апстрим был недоступен, и NGINX начал посылать запросы прокси в циклическом режиме между двумя резервными копиями, но одна из них была недоступна, и NGINX сервер вышел из строя: ошибка апстрима недоступна. Что я пробовал:

  1. Добавить http_521 к proxy_next_upstream - NGINX не распознает этот код
  2. Используется вместо 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;
    }
}
...