Вот мой конфиг:
Код: Выделить всё
frontend ssl
mode tcp
bind 0.0.0.0:443 ssl crt cert.pem
acl web_application req_ssl_sni -i [url=http://www.HOSTNAME.com]www.HOSTNAME.com[/url] or HOSTNAME.com
acl api_application req_ssl_sni -i feed.HOSTNAME.com or api.HOSTNAME.com
use_backend web_servers if web_application
use_backend api_servers if api_application
backend web_servers
option httpchk GET /isup HTTP/1.0
server web1 1.2.3.4:80 check inter 3000 rise 2 fall 3 maxconn 1000
server web2 1.2.3.5:80 check inter 3000 rise 2 fall 3 maxconn 1000
backend api_servers
option httpchk GET /isup HTTP/1.0
server api1 1.2.3.6:80 check inter 3000 rise 2 fall 3 maxconn 1000
server api2 1.2.3.7:80 check inter 3000 rise 2 fall 3 maxconn 1000
В логах в этом случае записи следующего вида:
Jan 28 18:41:15 localhost haproxy[18550]: 4.5.6.7:56468 [28/Jan/2015:18:41:14.868] ssl~ ssl/ -1/-1/171 0 SC 0/0/0/0/0 0/0
После добавления следующей строки в конец секции frontend ssl после use_backend
Код: Выделить всё
default_backend api_servers
все SSL запросы пересылаются к API серверам, игнорирую WEB сервера.
Укажите, пожалуйста, на неточности в моём конфиге и помогите разобраться почему балансировка не работает.
Спасибо!