仅当 backend2 已死时,如何使用 haproxy 来加载 backend1?

仅当 backend2 已死时,如何使用 haproxy 来加载 backend1?

经过大量搜索,我找不到一个非常基本和简单的方法来使用后端服务器 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

如你所见,目前我正在使用默认后端 varnish-1并希望它能完成工作...但它不起作用。当我打开 Varnish-2 服务器时,Haproxy 使用 2 个后端服务器...

我的问题很简单:如何配置 Haproxy 使用 backend-2 服务器当且仅当后端 1 发生故障时

谢谢。

答案1

您需要将备份服务器标记为:

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

仅当没有可用的“常规”服务器时才会使用它。

如果您有多个标记为的服务器,backup那么只会使用其中第一个可用的服务器。

这种情况通常被称为“抱歉服务器设置”,因为备份服务器可用于提供“抱歉,我们已关闭”的占位符页面。

相关内容