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

Обратный прокси HAProxy - несколько сайтов

Я настроил HAProxy как обратный прокси - с одним сайтом SharePoint, сервером, и он работает (сквозной протокол SSL в IIS), но когда я пытаюсь настроить два совершенно разных сайта SharePoint с разными серверами на одной и той же конфигурации HAProxy, это не так. не работает. Я настроил два сетевых адаптера в Linux - локальную сеть и общедоступную сеть. В Windows у меня есть только локальная сеть - Windows подключается к Linux в локальной сети, а затем через HAProxy я могу открыть сайт SharePoint из Интернета. Я пытался несколькими способами сделать это для нескольких сайтов, но безрезультатно.

Дополнительная информация: система Linux Debian 9.5 Stretch; HAProxy 1.7.5-2


Первый haproxy.cfg

Если я закомментирую «второй» сайт - тогда «первый» будет работать, а если я закомментирую «первый» - то «второй» будет работать. Так что оба сайта работают отдельно.

global
    maxconn 4096
    spread-checks 2
    user haproxy
    group haproxy
    daemon
defaults
    mode tcp
    log 127.0.0.1 local0 notice
    maxconn 2000
    option tcplog
    option dontlognull
    timeout connect 20s
    timeout client 10m
    timeout server 10m

frontend firstfront
    mode tcp
    bind *:443
    acl hosts_firstback hdr_end(host) -i first.sharepoint-a.com
    use_backend firstback if hosts_firstback
    default_backend firstback
backend firstback
    mode tcp
    balance roundrobin
    option redispatch
    server FIRSTSERVER 111.111.111.111:443
    option ssl-hello-chk

frontend secondfront 
    mode tcp
    bind *:443
    acl hosts_secondback hdr_end(host) -i second.sharepoint-b.com
    use_backend secondback if hosts_secondback
    default_backend secondback
backend secondback
    mode tcp
    balance roundrobin
    option redispatch
    server SECONDSERVER 222.222.222.222:443
    option ssl-hello-chk

Выше haproxy.cfg:

first.sharepoint-a.com - не найдено. Ошибка HTTP 404.

second.sharepoint-b.com - Ошибка подключения.

$ sudo systemctl status haproxy без ошибок.

$ sudo haproxy -c -f haproxy.cfg
Configuration file is valid

haproxy.log без ошибок

Второй haproxy.cfg

global
    maxconn 4096
    spread-checks 2
    user haproxy
    group haproxy
    daemon
defaults
    mode tcp
    #option forwardfor
    log 127.0.0.1 local0 notice
    maxconn 2000
    option tcplog
    option dontlognull
    timeout connect 20s
    timeout client 10m
    timeout server 10m

frontend spfront
    mode tcp
    bind *:443
    use_backend firstback if { hdr(host) -i first.sharepoint-a.com }
    use_backend secondback if { hdr(host) -i second.sharepoint-b.com }

backend firstback
    mode tcp
    server FIRSTSERVER 111.111.111.111:443

backend secondback
    mode tcp
    server SECONDSERVER 222.222.222.222:443

first.sharepoint-a.com - сбой безопасного подключения.

second.sharepoint-b.com - Ошибка подключения.

$ sudo systemctl status haproxy без ошибок.

$ sudo haproxy -c -f haproxy.cfg
Configuration file is valid

haproxy.log без ошибок


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