Haproxy 重定向到 Docker 容器

Haproxy 重定向到 Docker 容器

我们在 AWS 中安装了 Haproxy,它会将所有流量重定向到我们的开发环境。最近,我在其中一个 Ec2 实例中部署了 2 个 docker 容器。我想通过 Haproxy 访问这些容器。指导我如何配置 haproxy 重定向到容器。查看下面的示例配置。

global
    log /dev/log    local0
    log /dev/log    local1 notice
    stats timeout 30s
    maxconn 4096
    user haproxy
    group haproxy
    daemon
defaults
    log     global
    mode    tcp
    option  tcplog
    option  dontlognull
    timeout connect 15s
    timeout client  15s
    timeout server  15s

frontend http_80_frontend
    bind *:80
    mode http
    redirect scheme https code 301 if !{ ssl_fc }

frontend https_443_frontend
    bind *:443
    option tcplog
    mode tcp
    acl tls req.ssl_hello_type 1
    tcp-request inspect-delay 5s
    tcp-request content accept if tls
    acl container01 req.ssl_sni -i container01.test.com
    use_backend container01 if container01
    acl container02 req.ssl_sni -i container02.test.com
    use_backend container02 if container02

backend container01
    mode tcp
    option ssl-hello-chk
    server container01 10.10.1.10:9090 check
backend container02
    mode tcp
    option ssl-hello-chk
    server container02 10.10.1.10:9091 check 

答案1

如果您将这些容器作为服务运行(根据目的建议),则可以将它们放在 Docker HAProxy 容器后面。就像创建服务、启动容器、启动 HAProxy 容器并将其配置为指向其他两个容器和特定端口一样简单。这是演示如何使用 Docker Cloud 上的 GUI 执行此操作的教程之一 - 但是所有相同的概念都适用于 CLIhttps://docs.docker.com/docker-cloud/apps/load-balance-hello-world/#launch-the-web-service

相关内容