1、通過監聽端口進行健康檢測 。這種檢測方式,haproxy只會去檢查后端server的端口,並不能保證服務的真正可用。
配置示例:
listen http_proxy 0.0.0.0:80 mode http cookie SERVERID balance roundrobin option httpchk server web1 192.168.1.1:80 cookie server01 check server web2 192.168.1.2:80 cookie server02 check inter 500 rise 1 fall 2
2、通過URI獲取進行健康檢測 。檢測方式,是用過去GET后端server的的web頁面,基本上可以代表后端服務的可用性。
配置示例:
listen http_proxy 0.0.0.0:80 mode http cookie SERVERID balance roundrobin option httpchk GET /index.html server web1 192.168.1.1:80 cookie server01 check server web2 192.168.1.2:80 cookie server02 check inter 500 rise 1 fall 2
3、通過request獲取的頭部信息進行匹配進行健康檢測 。這種檢測方式,則是基於高級,精細的一些監測需求。通過對后端服務訪問的頭部信息進行匹配檢測。
配置示例:
listen http_proxy 0.0.0.0:80 mode http cookie SERVERID balance roundrobin option httpchk HEAD /index.jsp HTTP/1.1\r\nHost:\ www.xxx.com server web1 192.168.1.1:80 cookie server01 check server web2 192.168.1.2:80 cookie server02 check inter 500 rise 1 fall 2
