URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID12
Нить номер: 7367
[ Назад ]

Исходное сообщение
"Haproxy может проксировать на несколько отдельных VM?"

Отправлено landex , 06-Янв-21 14:06 
Всем привет.

Не могу найти вариант заставить работать прокси на две (и более на перспективу вирт машин)

Сейчас имеем:
Пул сайтов ВМ которые висят на ип 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-SSL

backend 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 check

frontend MY-CRM
bind *:443
        mode tcp
#       mode http
        option forwardfor
        reqadd X-Forwarded-Proto:\ https
       use_backend MY-CRM

backend 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 может проксировать на несколько отдельных VM?"
Отправлено Licha Morada , 07-Янв-21 00:13 
У вас только с сертификатом проблема? Подозреваю, что ваш HAPROXY не умеет отличить запрос к MY-SSL от MY-CRM и просто обращается всегда к первому.

Возможные меры:
Разнесите сайты по разным портам (некрасиво) или адресам на прокси, раз так нужен mode tcp.
Используйте один и тот-же сертификат на разных сайтах (лучше не).
Терминируйте TLS на прокси, Nginx хорошо справляется.


"Haproxy может проксировать на несколько отдельных VM?"
Отправлено landex , 07-Янв-21 00:51 
Нет, проблем с ВМ откуда должен прийти ответ вообще не идет
Я задавал вопрос на их сайте https://discourse.haproxy.org/t/haproxy-can-proxy-to-multipl...
Похоже нет роутинга на вторую ВМ а как его сделать я чего то не догоняю, если честно

> У вас только с сертификатом проблема? Подозреваю, что ваш HAPROXY не умеет
> отличить запрос к MY-SSL от MY-CRM и просто обращается всегда к
> первому.
> Возможные меры:
> Разнесите сайты по разным портам (некрасиво) или адресам на прокси, раз так
> нужен mode tcp.
> Используйте один и тот-же сертификат на разных сайтах (лучше не).
> Терминируйте TLS на прокси, Nginx хорошо справляется.


"Haproxy может проксировать на несколько отдельных VM?"
Отправлено Licha Morada , 07-Янв-21 03:48 
> Нет, проблем с ВМ откуда должен прийти ответ вообще не идет

Оцените сами свой конфиг. Фронтэнды описаны совершенно одинаково, ниоткуда не понятно, в каком случае должна применятся одна конфигурация, а когда другая. Странно что оно вообще не ругается на два разных 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...



"Haproxy может проксировать на несколько отдельных VM?"
Отправлено landex , 07-Янв-21 15:22 
Спасибо за ваш ответ.
Я попробую вашу ссылку, по итогам отпишу.

PS я пробовал (убрав все остальные сайты из конфига хапрокси) заходить из инета на нужную мне ВМ - все равно не шло. Хотя курлом с любых других моих ВМ в той же сети прокси вроде как отрабатывал. Но вот в комплексе не идет хоть ты лопни..
> Типа так:
> https://dev.to/dviejopomata/haproxy-multiple-certificates-ov...


"Haproxy может проксировать на несколько отдельных VM?"
Отправлено landex , 07-Янв-21 23:37 
Спасибо вам за ссылку, помогло!
+ пришлось купить новый домен и перевести не работающий сайт на него тк на прежнем было включено HSTS (это зло) и выдавался один из сертификатов с сервера 192.168.1.35 (первый по списку, это уже проделки sni)
Так что вопрос можно закрыть.
Еще раз спасибо!
> https://dev.to/dviejopomata/haproxy-multiple-certificates-ov...
> Ну и смотрите https://medium.com/@olivier.ragain/haproxy-https-load-b...

"Haproxy может проксировать на несколько отдельных VM?"
Отправлено landex , 07-Янв-21 00:53 
Особо не принципиально tcp mode или нет, мне надо просто что бы работало :)