gpt4 book ai didi

haproxy - 在 HA 代理中对 TCP 服务器使用 HTTP 运行状况检查

转载 作者:行者123 更新时间:2023-12-02 11:02:40 26 4
gpt4 key购买 nike

假设我有一个在 localhost:9000 上运行的 tcp 服务器和一个在 localhost:8000 上运行的 HTTP 服务器。 HTTP 服务器公开一个 URL“/healthz”,如果 tcp 服务器运行状况良好,则返回 200;如果 tcp 服务器运行状况不佳,则返回 500。也就是说,执行:

curl localhost:9000/healthz

将根据 tcp 服务器的运行状况返回状态 200 或状态 500。

我希望 HAProxy 使用 localhost:8000/healthz 进行 tcp 服务器的运行状况检查。这可能吗?

最佳答案

回答这个问题以防有人来这里寻找答案。

我原以为这行不通,因为你混合了 HTTP 和 TCP,但它似乎是可能的。我刚刚用 v1.4.24 进行了测试。技巧是指定一个不同的端口来检查后端的服务器线路。这是适合我的配置片段。

frontend httpfrontend  bind *:8080  mode http  option httplog  default_backend http-backendbackend http-backend  balance roundrobin  mode http  option httplog  option httpclose  reqadd X-Forwarded-Proto:\ http  server server1 localhost:8000frontend tcpfrontend  bind *:1080  mode tcp  option tcplog  default_backend tcp-backendbackend tcp-backend  mode tcp  option tcplog  # specify the format of the health check to run on the backend  option httpchk GET /healthz HTTP/1.0\r\nUser-agent:\ LB-Check\ TCP  # check -> turn on checks for this server  # port 8000 -> send the checks to port 8000 on the backend server (rather than 9000)  # inter 60000 -> check every 60s  server server1 localhost:9000 check port 8000 inter 60000

关于haproxy - 在 HA 代理中对 TCP 服务器使用 HTTP 运行状况检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22498677/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com