小编Car*_*rio的帖子

HAProxy 切换到 500 个错误和/或服务器停机时进行备份

我只在 2 个后端服务器前面设置了一个 HAProxy,有一个特定的配置:任何请求都应该转到服务器 A;但是,如果服务器 A 返回 5xx 错误代码,则所有请求都应转到备用服务器 B。当 A 返回“up”时,所有请求都应转到 A。

我正在尝试这种配置:

backend example_cluster
        balance roundrobin
        option httpclose
        option forwardfor

        option httpchk HEAD /ping.html HTTP/1.0\r\nHost:www.example.com
        http-check disable-on-404
        default-server error-limit 1 on-error mark-down

        redirect scheme https if !{ ssl_fc }
        server node1 1.2.3.4:80 check observe layer7
        server node_back 5.6.7.8:443 backup ssl verify none
Run Code Online (Sandbox Code Playgroud)

但它不起作用有两个原因:

  1. 所有请求都路由到服务器 node_back (B),即使 node1 (A) 已启动。
  2. 似乎没有对服务器 A 执行 httpchecks;或者更好的是,在 syslog 中,我没有看到有关服务器 A 停机的任何错误。

如果我删除“option httpchk”行,以及它下面的两行;我还删除了服务器 A 中的“观察层 7”;HAProxy 通过将所有请求路由到节点 A 来工作。但是,很明显,当服务器 A 返回 500 …

proxy reverse-proxy load-balancing haproxy

8
推荐指数
1
解决办法
3502
查看次数

标签 统计

haproxy ×1

load-balancing ×1

proxy ×1

reverse-proxy ×1