![](/img/trans.png)
[英]How to properly configure Apache Httpd as Load Balancer where some hosts may be unavailable
[英]how to configure http uri healthcheck for a ws balancer with Apache Httpd
我需要在 Apache httpd 中為我的 ws 負載均衡器配置健康檢查。 我使用 mod_proxy_wstunnel 進行 websocket 隧道傳輸,使用 mod_balancer 在 2 個服務器之間進行負載平衡。 我正在使用另外的 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
為了能夠使用 hcepr 正確處理健康檢查的響應
我將不勝感激任何為 uri 健康檢查配置協議的想法。
mod_proxy_hcheck 模塊的文檔說它執行 HTTP 請求。 在檢查了 mod_proxy_hcheck.c(Apche 2.4.39) 之后,似乎沒有涵蓋這種情況。 代碼不會檢查方案是否為 ws 並且在創建請求時不會替換它。
能夠為 hckeck 添加絕對 uri 或自動替換使用的協議(如果它不是 http)應該很棒。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.