我正在尝试在 apache httpd 中配置负载平衡。
我有 2 个节点都处于活动状态。但我希望流量只流向对特定路径上的 GET 做出积极响应的节点。
在 ngnix 和 haproxy 中也是如此,但我无法在我当前的项目中使用它们。
我正在尝试在 apache httpd 中配置负载平衡。
我有 2 个节点都处于活动状态。但我希望流量只流向对特定路径上的 GET 做出积极响应的节点。
在 ngnix 和 haproxy 中也是如此,但我无法在我当前的项目中使用它们。
您可以使用 mod_proxy_hcheck 模块:
https://httpd.apache.org/docs/trunk/mod/mod_proxy_hcheck.html
相关片段
ProxyHCExpr ok234 {%{REQUEST_STATUS} =~ /^[234]/}
ProxyHCExpr gdown {%{REQUEST_STATUS} =~ /^[5]/}
ProxyHCExpr in_maint {hc('body') !~ /Under maintenance/}
<Proxy balancer://foo>
BalancerMember http://www.example.com/ hcmethod=GET hcexpr=in_maint hcuri=/status.php
BalancerMember http://www2.example.com/ hcmethod=HEAD hcexpr=ok234 hcinterval=10
BalancerMember http://www3.example.com/ hcmethod=TCP hcinterval=5 hcpasses=2 hcfails=3
BalancerMember http://www4.example.com/
</Proxy>
ProxyPass "/" "balancer://foo"
ProxyPassReverse "/" "balancer://foo"