簡體   English   中英

如何使用 Apache Httpd 為 ws 平衡器配置 http uri 健康檢查

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM