Всем привет.Не могу найти вариант заставить работать прокси на две (и более на перспективу вирт машин)
Сейчас имеем:
Пул сайтов ВМ которые висят на ип 192.168.1.35 и прекрасно проксируютс Хапрокси. Каждый сайт имеет свой сертификат.Я завел еще одну ВМ 192.168.1.33 - (црм, офис и тп) - ну блин не могу добиться нормальной работы, все время отдается сертификат одной из машин с первой ВМ
Вот конфиг - что не так делаю?
UPD
root@HAPROXY:~# curl -I https://crm2.mysite.ru
curl: (51) SSL: no alternative certificate subject name matches target host name 'crm2.mysite.ru'frontend MY-SSL
bind *:443
mode tcp
# mode http
# option forwardfor
# reqadd X-Forwarded-Proto:\ https
use_backend MY-SSLbackend MY-SSL
mode tcp
stick-table type ip size 1m expire 1h
stick on src
timeout connect 10s
timeout client 1m
timeout server 1m
option ssl-hello-chk
server mysite.ru 192.168.1.35:443 send-proxy checkfrontend MY-CRM
bind *:443
mode tcp
# mode http
option forwardfor
reqadd X-Forwarded-Proto:\ https
use_backend MY-CRMbackend MY-CRM
mode tcp
stick-table type ip size 1m expire 1h
stick on src
timeout connect 10s
timeout client 1m
timeout server 1m
option ssl-hello-chk
server crm2.mysite.ru 192.168.1.33:443 send-proxy check
У вас только с сертификатом проблема? Подозреваю, что ваш HAPROXY не умеет отличить запрос к MY-SSL от MY-CRM и просто обращается всегда к первому.Возможные меры:
Разнесите сайты по разным портам (некрасиво) или адресам на прокси, раз так нужен mode tcp.
Используйте один и тот-же сертификат на разных сайтах (лучше не).
Терминируйте TLS на прокси, Nginx хорошо справляется.
Нет, проблем с ВМ откуда должен прийти ответ вообще не идет
Я задавал вопрос на их сайте https://discourse.haproxy.org/t/haproxy-can-proxy-to-multipl...
Похоже нет роутинга на вторую ВМ а как его сделать я чего то не догоняю, если честно> У вас только с сертификатом проблема? Подозреваю, что ваш HAPROXY не умеет
> отличить запрос к MY-SSL от MY-CRM и просто обращается всегда к
> первому.
> Возможные меры:
> Разнесите сайты по разным портам (некрасиво) или адресам на прокси, раз так
> нужен mode tcp.
> Используйте один и тот-же сертификат на разных сайтах (лучше не).
> Терминируйте TLS на прокси, Nginx хорошо справляется.
> Нет, проблем с ВМ откуда должен прийти ответ вообще не идетОцените сами свой конфиг. Фронтэнды описаны совершенно одинаково, ниоткуда не понятно, в каком случае должна применятся одна конфигурация, а когда другая. Странно что оно вообще не ругается на два разных bind-а на одном и том-же порту.
> Я задавал вопрос на их сайте https://discourse.haproxy.org/t/haproxy-can-proxy-to-multipl...
Вам там всё правильно сказали. Надо чтобы HAProxy разобрал запрос HTTP, прочухал к какому сайту обращаются и на основе этого выбрал правильный бакэнд. Узнать имя сайта который просит клиент, не начиная, собственно, SSL/TLS сессию (для этого нужен сертификат и ключ), сервер может с помощью SNI.
> Похоже нет роутинга на вторую ВМ а как его сделать я чего
> то не догоняю, если честноТипа так:
https://dev.to/dviejopomata/haproxy-multiple-certificates-ov...Ну и смотрите https://medium.com/@olivier.ragain/haproxy-https-load-b...
Спасибо за ваш ответ.
Я попробую вашу ссылку, по итогам отпишу.PS я пробовал (убрав все остальные сайты из конфига хапрокси) заходить из инета на нужную мне ВМ - все равно не шло. Хотя курлом с любых других моих ВМ в той же сети прокси вроде как отрабатывал. Но вот в комплексе не идет хоть ты лопни..
> Типа так:
> https://dev.to/dviejopomata/haproxy-multiple-certificates-ov...
Спасибо вам за ссылку, помогло!
+ пришлось купить новый домен и перевести не работающий сайт на него тк на прежнем было включено HSTS (это зло) и выдавался один из сертификатов с сервера 192.168.1.35 (первый по списку, это уже проделки sni)
Так что вопрос можно закрыть.
Еще раз спасибо!
> https://dev.to/dviejopomata/haproxy-multiple-certificates-ov...
> Ну и смотрите https://medium.com/@olivier.ragain/haproxy-https-load-b...
Особо не принципиально tcp mode или нет, мне надо просто что бы работало :)