我需要在 Apache httpd 中为我的 ws 负载均衡器配置运行状况检查。我正在使用 mod_proxy_wstunnel 进行 websocket 隧道和 mod_balancer 用于两台服务器之间的负载平衡。我正在使用additionnaly mod_proxy_hcheck 来验证2 个服务器是否可用。配置如下:
Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
ProxyHCExpr ok2 {%{REQUEST_STATUS} =~ /^[2]/}
<Proxy balancer://trackingwsbalancer>
BalancerMember wss://{{ rpa_fqdn_tracking1 }}:8443 route=1 hcmethod=GET hcexpr=ok2 hcuri=/trackingproxy_advanced/actuator
BalancerMember wss://{{ rpa_fqdn_tracking2 }}:8443 route=2 hcmethod=GET hcexpr=ok2 hcuri=/trackingproxy_advanced/actuator
ProxySet stickysession=ROUTEID
ProxySet lbmethod=bybusyness
</Proxy>
问题是健康检查总是失败,因为后面的请求是:
wss ://{{ rpa_fqdn_tracking1 }}:8443/trackingproxy_advanced/actuator.
我希望它是
htpps ://{{ rpa_fqdn_tracking1 }}:8443/trackingproxy_advanced/actuator
为了能够使用 hcexpr 正确处理 healthcheck 的响应
我将非常感谢为 uri 健康检查配置协议的任何想法。