Рейтинг:0

Использование HAproxy для перенаправления входящего трафика на докер

флаг es

В настоящее время мы используем HAproxy для перенаправления входящего трафика на наш домен. пример.домен в наши контейнеры, которые доступны только через локальный интерфейс (например, 127.0.0.1:12000:8080

Для этого наша текущая конфигурация выглядит примерно так:

значения по умолчанию
    режим http
    тайм-аут подключения 5000
    проверка таймаута 5000
    тайм-аут клиента 20000
    тайм-аут сервера 20000

внешний домен
    привязать *:80
    привязать *: 443 ssl crt /etc/haproxy/certs/domain.cert
    привязать *: 11000-11199 ssl crt /etc/haproxy/certs/domain.cert
    Схема перенаправления http-запроса https, если { ssl_fc } # ssl_fc возвращает true, если запрос уже использует SSL
    http-запрос set-header X-Forwarded-Port %[dst_port]
    http-запрос добавить заголовок X-Forwarded-Proto https, если { ssl_fc }
    
    # Порты 11000-11099 зарезервированы для безопасного трафика
    acl secure_0_host dst_port 11000
    acl secure_1_host dst_port 11001

    # Порты 11100-11199 зарезервированы для небезопасного трафика
    acl insecure_0_host dst_port 11100
    acl insecure_1_host dst_port 11101

    # Безопасные серверные части
    use_backend secure_0, если secure_0_host
    use_backend secure_1, если secure_1_host

    # Небезопасные серверные части
    use_backend insecure_0, если insecure_0_host
    use_backend insecure_1, если insecure_1_host

    # Резервный сервер
    default_backend fallback_backend

бэкэнд fallback_backend
    адрес перенаправления http-запроса https://example.domain код 302

# Безопасные серверные части
серверная часть secure_0
    server secure_0 127.0.0.1:12000 ssl проверить нет

серверная часть secure_1
    server secure_1 127.0.0.1:12001 ssl проверить нет


# Небезопасные серверные части
серверная часть небезопасна_0
    сервер insecure_0 127.0.0.1:12100

серверная часть небезопасна_1
    сервер небезопасный_1 127.0.0.1:12101

Эта настройка работает, но очень утомительно вручную добавлять каждое сопоставление портов, а также меня немного раздражает, что я должен использовать разные порты (12000-12099) для контейнеров докеров, чем я слушаю с помощью HAproxy.

Можно ли как-то просто сказать конфигу, что данный портранж(11000-11099) следует передать 127.0.0.1:11000-11099?

флаг in
https://stackoverflow.com/questions/26794547/how-to-configure-haproxy-port-range-to-range-one-by-one
Рейтинг:0
флаг in

могу попробовать это https://www.haproxy.com/documentation/hapee/latest/configuration/binds/syntax/ что немного отличается от использования диапазона портов для acls... или просто имеет разные внешние интерфейсы для каждого диапазона портов, как показано в документах

Ответить или комментировать

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