Как использовать haproxy для загрузки backend1 ТОЛЬКО, если backend2 не работает?

Как использовать haproxy для загрузки backend1 ТОЛЬКО, если backend2 не работает?

После долгих поисков я не могу найти очень простой и базовый способ использования внутреннего сервера 2, когдаТОЛЬКО ЕСЛИ бэкэнд 1 мертв.

Вот моя текущая конфигурация:

frontend www
    bind *:80
    reqadd X-Forwarded-Proto:\ http
    default_backend varnish-1

backend varnish-1
    mode http
    stats enable
    stats hide-version
    stats uri /haproxy?stats
    stats realm Haproxy\ Statistics
    stats auth skonsoft:SECRET_PASSWORD     # Credentials for HAProxy Statistic report page.
    balance roundrobin          # Load balancing will work in round-robin process.
    option httpchk
    option  httpclose
    option forwardfor
    cookie SRV_ID prefix
    server varnish-1 192.168.1.91:80 check cookie
    server varnish-2 192.168.1.71:80 check cookie

Как вы видите, в настоящее время я используюdefault_backend лак-1и надеюсь, что он сделает свою работу... Но он не работает. Когда я включаю сервер Varnish-2, Haproxy использует 2 внутренних сервера...

Моя проблема очень проста: как настроить Haproxy для использования сервера backend-2ЕСЛИ и ТОЛЬКО ЕСЛИ backend-1 не работает.

Спасибо.

решение1

Вам необходимо обозначить резервный сервер именно так:

server varnish-1 192.168.1.91:80 check cookie
server varnish-2 192.168.1.71:80 check cookie backup

Затем он будет использоваться только в том случае, если «обычные» серверы недоступны.

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

Этот сценарий часто называют «настройкой сервера с извинениями», поскольку резервный сервер может использоваться для обслуживания страницы-заполнителя «Извините, мы вышли из строя».

Связанный контент