Назад | Перейти на главную страницу

HAProxy - защита входящих TCP-соединений

Я пытался реализовать защищенный прокси-сервер с балансировкой нагрузки с помощью HAProxy. В основном я хочу сделать следующее:

request ----> haproxy passthrough -----> multiple proxy servers -----> target

Я не хотел, чтобы это было открыто для публики, поэтому я добавил HTTP Basic auth для HTTP-запросов. Он работает нормально, и неавторизованные запросы отклоняются.

Однако я не смог сделать то же самое для запросов HTTPS, и все они проходят без какой-либо безопасности или ограничений.

Обратите внимание, что использование ограничения IP-адреса источника невозможно, поскольку запрос может поступать из различных источников.

Вот мой файл haproxy.cfg:

global
        log /dev/log   local0
        log 127.0.0.1   local1 notice
        maxconn 4096
        user haproxy
        group haproxy
        daemon

defaults
        log     global
        mode    http
        option  dontlognull
        retries 3
        option redispatch
        maxconn 2000
        contimeout     5000
        clitimeout     50000
        srvtimeout     50000

userlist L1
    user john insecure-password doedoe

listen webproxies 0.0.0.0:3128
    bind *:3128
    mode http
    option httplog
    stats enable
    stats uri /haproxy?stats
    balance roundrobin
    option httpclose
    option forwardfor
    server proxy01 [proxy_ip_1]:[port] check
    server proxy02 [proxy_ip_2]:[port] check
    acl auth_ok http_auth(L1)
    http-request auth unless auth_ok

userlist L2
    user johnhttps insecure-password doedoe

listen webproxiesHttps 0.0.0.0:3129
   mode tcp
   bind *:3129
   balance roundrobin
   server proxy01 [proxy_ip_1]:[port] check
   server proxy02 [proxy_ip_2]:[port] check
   acl auth_ok_https http_auth(L2)
   http-request auth unless auth_ok_https

Примечание. [Proxy_ip_1]: [порт] и [proxy_ip_2]: [порт] обычно являются настоящими IP-адресами.

Любая идея приветствуется!

Спасибо