如何使用Letencrypt在HA代理Dockerfile上安装SSL证书

时间:2020-08-07 10:40:42

标签: docker ssl haproxy

我正在使用haproxy路由域和子域,并且将其部署在端口80上。我希望所有域都应为https或使用SSL证书。

global
  log xx.xx.90.28 local0
  log xx.xx.90.28 local1 notice
  maxconn 2048

defaults
  log global
  mode http
  option httplog
  option dontlognull
  option redispatch
  option forwardfor
  option http-server-close
  retries 3
  timeout connect 5000
  timeout client 10000
  timeout server 10000

frontend balancer
  bind *:80
  mode http
  stats enable
  stats uri /stats
  stats refresh 15s
  stats show-node
  stats auth admin:admin
  acl domain hdr_dom(host) -i www.example.com
  acl subdomain hdr_dom(host) -i app.example.com
  acl subdomain1 hdr_dom(host) -i examplecom
  use_backend go_app_1 if domain
  use_backend go_app_2 if subdomain
  use_backend go_app_3 if subdomain1

backend go_app_1
  balance roundrobin
  mode http
  option forwardfor
  server go xx.xx.90.28:8081 check

backend go_app_2
  balance roundrobin
  mode http
  option forwardfor
  server go xx.xx.90.28:8082 check

backend go_app_3
  balance roundrobin
  mode http
  option forwardfor
  server go xx.xx.90.28:8081 check

这是DockerFile

FROM haproxy:2.1
COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg


现在我想使用letencrypt来保护这些URL的安全,请指导我该如何做?

1 个答案:

答案 0 :(得分:0)

我认为我们需要先在本地设置letencrypt。

然后通过卷装将结果设置注入到容器中。

来自Docker Hub的示例命令:

docker run -d --name my-running-haproxy -v /path/to/etc/haproxy:/usr/local/etc/haproxy:ro haproxy:1.7

如下所示:

-v /my/letsencrypt/setting/:/etc/ssl/