HAProxy SSL 直通,两个后端均有各自的主机名

HAProxy SSL 直通,两个后端均有各自的主机名

我正在尝试设置用于 SSL Pass Through 的 HAProxy 服务器。

要求是,我将获得请求,例如 api.mydomain.com、web.mydomain.com,在 HAProxy 中,我希望接收请求并根据它们的主机名转发到相关的后端。

使用以下配置,我的 HA 代理启动,当我访问 web.mydomain.com 时,我希望发送到 web.mydomain.com,但它会被发送到 api.mydomain.com。

以下是我的配置:

global
    log         127.0.0.1 local2
    local2.*    /var/log/haproxy.log
    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    maxconn     4000
    user        haproxy
    group       haproxy
    daemon

    stats socket /var/lib/haproxy/stats

defaults
    mode                    tcp
    log                     global
    option                  tcplog
    option                  dontlognull
    option http-server-close
    option forwardfor       except 127.0.0.0/8
    option                  redispatch
    retries                 3
    timeout http-request    10s
    timeout queue           1m
    timeout connect         10s
    timeout client          1m
    timeout server          1m
    timeout http-keep-alive 10s
    timeout check           10s
    maxconn                 3000

frontend localhost
    bind *:443
    option tcplog
    mode tcp
    default_backend api_nodes
    tcp-request inspect-delay 5s
    tcp-request content accept if { req_ssl_hello_type 1 }

    acl ACL_api_mydomain.comhdr(host) -i api.mydomain.com
    use_backend api_nodes if ACL_api_mydomain.com

    acl ACL_web_mydomain.comhdr(host) -i web.mydomain.com
    use_backend web_nodes if ACL_web_mydomain.com

backend api_nodes
    mode tcp
    balance roundrobin
    option tcp-check
    server web01 192.0.0.68:5002/healthcheck check

backend web_nodes
    mode tcp
    balance roundrobin
    option tcp-check
    server web01 192.0.0.68:5001 check

我正在使用 HAProxy 1.5.x 版本。

相关内容