我正在尝试在apache httpd。
中配置负载平衡我有2个活跃的节点。但我希望流量只能转到一个节点,该节点在特定路径上对GET做出积极响应。
同样可以在ngnix和haproxy中使用,但我无法在我当前的项目中使用它们。
答案 0 :(得分:2)
您可以使用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"