LINUX.ORG.RU

Haproxy не открываются https сайты

 ,


0

1

---Проблема:
Haproxy не открываются https сайты

Firefox: SSL_ERROR_RX_RECORD_TOO_LONG
Chrome: ERR_SSL_PROTOCOL_ERROR
---
Картинка структуры:
https://i.postimg.cc/7YNjZkc5/haproxy.jpg

Структура в тексте:
Дано:
1. сервер haproxy (192.168.0.2) у него есть wan ip который в интернет смотрит через DMZ роутера
2. веб сервер1 (192.168.0.36)
3. веб сервер2 (192.168.0.46)
на сервер1 сервер2 можно получить сертификаты через web панели. Так как сайты разные и постоянно меняются на
стороне haproxy их вручную прописывать не вариант.
---
Полный конфиг:
https://pastebin.com/mZzJM8vN
---
Внесенные изменения в конфиг:
frontend http-https-in
bind 192.168.0.2:80
bind 192.168.0.2:443

use_backend http_nginx_pool if !{ ssl_fc }
use_backend https_nginx_pool if { ssl_fc }

backend http_nginx_pool
mode http
server nginx2 192.168.0.36:80 check
server nginx2 192.168.0.46:80 check

backend https_nginx_pool
mode http
server nginx2 192.168.0.36:443 check
server nginx2 192.168.0.46:443 check
-----------------------------------------
c приставкой ssl verify none неработает тоже пишет https_nginx_pool сервер ненаиден



Последнее исправление: Regacar (всего исправлений: 2)

А HTTPS в локальной сетке вообще обязателен? Если нет, не мучайся, сделай разгрузку на балансере.

Беглым взглядом ещё вот это бросается в глаза:

backend https_nginx_pool
    mode http
    server nginx2 192.168.0.36:443 check
    server nginx2 192.168.0.46:443 check 

Не надо так, это два разных сервера.

А, ну и сертификаты, собственно, не прописаны ни на фронтенде, ни на бэкенде.

ivanov17
()
Последнее исправление: ivanov17 (всего исправлений: 1)
Ответ на: комментарий от Regacar

Можно, но зачем? К тому же, в этом случае проксировать нужно не в http mode, а в tcp.

Ещё, кстати, совершенно непонятно: у тебя один и тот же сайт на разных айпишниках или два разных. Пишешь ты вроде одно, а в конфиге совсем другое.

Если два разных, то тебе не нужно их вешать на один бэкенд.

Балансер как таковой распределяет нагрузку по выбранным алгоритмам. В общем случае, если он не может достучаться на бэкенде до server nginx1, он идёт на server nginx2 и отдаёт данные уже с него. Данные с серверов одного бэкенда не отдаются одновременно.

Если ты используешь HAProxy как реверс-прокси и данные у тебя не дублируются, то на один бэкенд тебе нужен один сервер с одним сайтом.

В общем, я бы посоветовал прямо сейчас начать читать их официальную документацию, потому что по постам на форумах ты с ним ни фига не разберёшься, а нужный тебе конфиг за тебя никто не напишет.

Если HAProxy выглядит сложным, то для реверс-прокси в принципе полно и других инструментов.

ivanov17
()