您好我正在使用haproxy来平衡我的https连接。我想做积极的健康检查但是它们似乎不起作用。有关如何正确编写以下内容的任何提示都将受到欢迎。我让他们在http端口80连接上正常工作。
frontend incoming_https
bind *:443
mode tcp
default_backend web_https
backend web_https
mode tcp
option httpchk GET / HTTP/1.1\r\nHost:\ https://www.mysite.com
server web-0 xxx.xxx.xxx.xxx:443 check inter 5000 port 443
答案 0 :(得分:5)
是的,你可以在tcp模式下使用选项httpchk。这是在ssl后面的页面上搜索字符串的必要选项:
mode tcp
option httpchk GET /<URI>
http-check expect string <STRING\ WITH\ SPACES\ ESCAPED>
server <YOUR_SERVER_FQDN>:443 <YOUR_SERVER_IP>:443 check ssl verify none
例如,检查login.html页面中的“用户名”字符串:
mode tcp
option httpchk GET /login.html
http-check expect string User\ Name
server www.example.com:443 192.168.1.1:443 check ssl verify none
请注意,“check ssl verify none”是必需的,搜索字符串中的任何空格都必须使用\来转义。
答案 1 :(得分:3)
您无法在tcp模式下使用option httpchk
。
您可能希望阅读option ssl-hello-chk
。