HAProxy 反向代理 - 多个站点

HAProxy 反向代理 - 多个站点

我已经将 HAProxy 配置为反向代理 - 具有单个 SharePoint 站点、服务器并且它正在运行(IIS 上的 SSL 直通),但是当我尝试在同一个 HAProxy 配置上配置两个完全不同的 SharePoint 站点和不同的服务器时,它不起作用。我在 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没有错误


我尝试了很多组合,结果相同或相似。请帮我解决配置文件问题 - 我哪里犯了错误,请随时提问。

相关内容