我在 EC2 上使用 HAProxy,并使用 httpchk 来管理节点可用性。我曾使用伪唯一路径作为健康检查路由,试图确保只有我的服务器响应健康检查。今天早些时候,我的一台 EC2 服务器停止运行,在自动生成 haproxy 配置(控制器问题)之前,Amazon 已将 IP 重新分配给每个请求 200 的某个人(蜜罐?),我的 HAProxy 主机随后将服务器拉回轮换并开始在那里分配我的部分流量,直到控制器恢复并从列表中删除该 IP。
TLDR;
有没有办法为 HAProxy 的 httpchk 添加服务器身份验证方法?
答案1
否,但您可以使用
http-check expect
它让您定义响应应该是什么样子。
例如:
http-check expect ! string Foo\ Bar
仅当页面上有该字符串时才会成功。
我无法直接在文档中链接,但可以加载http://haproxy.1wt.eu/download/1.5/doc/configuration.txt并搜索“http-check expect”以获取更多信息。
答案2
这是完全有可能的。如果你读过手册,你会发现:
option httpchk GET /manager/html/list HTTP/1.1\r\nHost:\ myserver.my.domain:8080\r\nAuthorization:\ Basic\ MyT41l0r1sR1ch