Как сделать ремонт сервера с HAProxy через HTTPS

Я ранее создал loadbalancer для веб-серверов в HAProxy, но это был HTTP, а не HTTPS.

это он конфиг я ранее использовал.

listen appname 0.0.0.0:80
    mode http
    stats enable
    stats uri /haproxy?stats
    stats realm Strictly Private
    stats auth admin:XXXXXXXX
    balance roundrobin
    option http-server-close
    timeout http-keep-alive 3000
    option forwardfor
    cookie SRVNAME insert
    server lamp1 10.128.24.97:80 cookie S1 check
    server lamp2 10.128.24.98:80 cookie S2 check

Я не знаю, как переписать эту конфигурацию, чтобы сделать запросы к порту 443 доступными для серверов за HAProxy. Я скопировал предыдущий и изменил порт на 443. Однако я получаю много ошибок. Как я могу перевести конфигурацию, чтобы быть допустимым для соединения HTTPS / SSL?

listen httpsapp 0.0.0.0:443
    mode tcp
    stats enable
    stats uri /haproxy?stats
    stats realm Strictly Private
    stats auth admin:XXXXXXXXXXX
    balance roundrobin
    option http-server-close
    timeout http-keep-alive 3000
    option forwardfor
    cookie SRVNAME insert
    server lamp1 10.128.24.97:443 cookie S1 check
    server lamp2 10.128.24.98:443 cookie S2 check

Я получаю предупреждения при перезапуске HAProxy

[WARNING] 007/090716 (2409) : config : cookie will be ignored for proxy 'httpsapp' (needs 'mode http').
[WARNING] 007/090716 (2409) : config : 'option httplog' not usable with proxy 'httpsapp' (needs 'mode http'). Falling back to 'option tcplog'.
[WARNING] 007/090716 (2409) : config : 'stats' statement ignored for proxy 'httpsapp' as it requires HTTP mode.
[WARNING] 007/090716 (2409) : config : 'option forwardfor' ignored for proxy 'httpsapp' as it requires HTTP mode.
[WARNING] 007/090716 (2409) : config : 'option http-server-close' ignored for proxy 'httpsapp' as it requires HTTP mode.
[WARNING] 007/090716 (2409) : config : proxy 'httpsapp' : ignoring cookie for server 'lamp1' as HTTP mode is disabled.
[WARNING] 007/090716 (2409) : config : proxy 'httpsapp' : ignoring cookie for server 'lamp2' as HTTP mode is disabled.
21
задан cleanunicorn
12.04.2023 8:05 Количество просмотров материала 3251
Распечатать страницу

1 ответ

когда вы создаете HTTPS прокси (в зависимости от того, какую версию HAProxy вы используете, и если он имеет поддержку SSL, скомпилированную в), у вас есть 2 различных способа обработки трафика.

One-это маршрут, который вы взяли с этой конфигурацией - сделайте его прямым прокси TCP и передайте трафик прямо на сервер без выполнения какой-либо обработки уровня 7.

mode tcp

когда в режиме tcp, вы не сможете использовать какие-либо параметры, которые специально для HTTP прокси-в в вашем случае вы потеряете конечную точку статистики, обработку cookie, вставку заголовка "X-Forwarded-For" и т. д. Предупреждения предназначены только для того, чтобы вы знали, что этот прокси все еще будет работать, но, вероятно, он не будет работать так, как вы ожидаете, так как вы используете параметры, специфичные только для HTTP прокси.

другой маршрут, который вы могли бы предпринять, чтобы завершить SSL на сервере HAProxy. В этом случае у вас есть трафик HTTPS между клиентом и HAProxy, и (обычно) незашифрованный HTTP-трафик между HAProxy и внутренними серверами. Если вы собираетесь сделать завершение SSL в HAProxy, а не с чем-то вроде фунта, то вам нужно будет работать v1.5 с поддержкой SSL. Результирующая конфигурация прокси-сервера может выглядеть примерно так.

listen appname
  bind 0.0.0.0:80
  bind 0.0.0.0:443 ssl crt /path/to/your/cert.pem ciphers TLSv1+HIGH:!SSLv2:RC4+MEDIUM:!aNULL:!eNULL:!3DES:@STRENGTH
  mode http
  stats enable
  stats uri /haproxy?stats
  stats realm Strictly\ Private
  stats auth admin:XXXXXXXX
  balance roundrobin
  option http-server-close
  timeout http-keep-alive 3000
  option forwardfor
  cookie SRVNAME insert
  server lamp1 10.128.24.97:80 cookie S1 check
  server lamp2 10.128.24.98:80 cookie S2 check

несколько заметок об этом. Эта директива listen фактически объединяет HTTP и HTTPS прокси в один и тот же. Его можно так же легко разделить резервное копирование, но если это не требуется, мне нравится держать вещи немного чище, как это. Кроме того, параметры" шифров " настраиваются по вашему вкусу или приложению-я не эксперт SSL, но эти параметры работают для меня, поэтому я решил, что включу их.

4
отвечен walkeran 2023-04-13 15:53

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх