HAProxy – 健康检查子目录/服务

我有一个服务器托pipe多个网站,但在逻辑上看起来像子目录。 例:

- http://XXX/Site1 - http://XXX/Site2 

如何configurationHAProxy的运行状况检查来检查每个“子站点”?

使用多个后端,每个检查1个网站。 使用ACL来执行内容切换,即select后端根据HTTP请求的某些属性来路由请求,在这种情况下是URLpath。

例:

 global log 127.0.0.1 local0 log 127.0.0.1 local1 notice maxconn 4096 user haproxy group haproxy daemon defaults log global mode http option httplog option dontlognull retries 3 option redispatch maxconn 2000 timeout connect 5000 timeout client 50000 timeout server 50000 frontend 1.2.3.4-80 bind 1.2.3.4:80 mode http option http-server-close option logasap acl url_site1 url_beg /Site1 acl url_site2 url_beg /Site2 use_backend site1 if url_site1 use_backend site2 if url_site2 backend site1 mode http balance roundrobin option httpchk HEAD /Site1 HTTP/1.1\r\nHost:\ XXX server srv1 1.1.1.1:80 check server srv2 2.2.2.2:80 check backend site2 mode http balance roundrobin option httpchk HEAD /Site2 HTTP/1.1\r\nHost:\ XXX server srv1 1.1.1.1:80 check server srv2 2.2.2.2:80 check 

您可以在Haproxy中启用HTTP检查来检查HTTP服务器

  https://code.google.com/p/haproxy-docs/wiki/httpchk backend cluster1 mode http balance roundrobin option httplog option httpclose #Disable keepalive option forwardfor option httpchk HEAD /check.txt HTTP/1.0 backend cluster2 mode http balance roundrobin option httplog option httpclose #Disable keepalive option forwardfor option httpchk HEAD /check.txt HTTP/1.0 # Servers