Как установить SSL-сертификат в dockerfile прокси с помощью letsencrypt - PullRequest
0 голосов
/ 07 августа 2020

Я использую 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


Теперь я хочу использовать letsencrypt для защиты этого URL, пожалуйста, расскажите мне, как я могу это сделать?

1 Ответ

0 голосов
/ 07 августа 2020

Я думаю, нам нужно сначала настроить letsencrypt локально.

И ввести настройку результата в контейнер через монтирование тома.

Пример команды из 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/

...