¿Cómo usar haproxy para cargar backend1 SÓLO si backend2 está muerto?

¿Cómo usar haproxy para cargar backend1 SÓLO si backend2 está muerto?

Después de mucha búsqueda, no puedo encontrar una forma muy básica y sencilla de usar el servidor backend 2 cuandoSÓLO SI el backend 1 está muerto.

Aquí está mi configuración actual:

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

Como puedes ver, actualmente estoy usandodefault_backend barniz-1y esperando que haga el trabajo... Pero no funciona. Cuando enciendo el servidor Varnish-2, Haproxy usa los 2 servidores backend...

Mi problema es muy simple: Cómo configurar Haproxy para usar el servidor backend-2SI y SÓLO SI el backend-1 está inactivo.

Gracias.

Respuesta1

Debe marcar el servidor de respaldo exactamente así:

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

Entonces sólo se utilizará si no hay servidores "normales" disponibles.

Si tiene varios servidores marcados como backupentonces solo se utilizará el primero de los que esté disponible.

Este escenario a menudo se denomina "configuración del servidor lamentable" porque el servidor de respaldo podría usarse para mostrar una página de marcador de posición "Lo sentimos, no funcionamos".

información relacionada