The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Haproxy может проксировать на несколько отдельных VM?"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Настройка Squid, Tor и прокси серверов (Другие proxy)
Изначальное сообщение [ Отслеживать ]

"Haproxy может проксировать на несколько отдельных VM?"  +/
Сообщение от landex (ok), 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

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от Licha Morada (ok), 07-Янв-21, 00:13   +/
У вас только с сертификатом проблема? Подозреваю, что ваш HAPROXY не умеет отличить запрос к MY-SSL от MY-CRM и просто обращается всегда к первому.

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #2, #3

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #4

3. Сообщение от landex (ok), 07-Янв-21, 00:53   +/
Особо не принципиально tcp mode или нет, мне надо просто что бы работало :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

4. Сообщение от Licha Morada (ok), 07-Янв-21, 03:48   +1 +/
> Нет, проблем с ВМ откуда должен прийти ответ вообще не идет

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


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #5, #6

5. Сообщение от landex (ok), 07-Янв-21, 15:22   +/
Спасибо за ваш ответ.
Я попробую вашу ссылку, по итогам отпишу.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

6. Сообщение от landex (ok), 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...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру