Por lo que sé, los propios contenedores son todos “estándar” (así que entiendo que cada uno ejecuta nginx) y, sí, HAProxy maneja todo el SSL y dirige las solicitudes a cada contenedor.
Mi configuración es según la guía aquí: Set up Discourse on a server with existing Apache sites (con la versión SSL de la configuración de HAProxy aquí).
Hubo un problema con la configuración de HAProxy:
backend main_apache_sites
server server1 127.0.0.1:8080 cookie A check
cookie JSESSIONID prefix nocache
backend discourse_docker
server server2 127.0.0.1:8888 cookie A check
cookie JSESSIONID prefix nocache
backend discourse_docker_2
server server2 127.0.0.1:8889 cookie A check
cookie JSESSIONID prefix nocache
backend discourse_docker_3
server server2 127.0.0.1:8890 cookie A check
cookie JSESSIONID prefix nocache
backend letsencrypt-backend
server letsencrypt 127.0.0.1:54321
Por alguna razón, todos los backends de Discourse tenían server2 en la segunda línea; ayer cambié estos a server2, server3, etc., pero no ha hecho ninguna diferencia (y antes funcionaba bien así).
¿Hay archivos de registro específicos que pueda revisar que podrían proporcionar más pistas? ¿Quizás archivos de registro de Docker?
Sí, esos están comentados:
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
- "templates/web.ratelimited.template.yml"
## Descomenta estas dos líneas si deseas agregar Lets Encrypt (https)
#- "templates/web.ssl.template.yml"
#- "templates/web.letsencrypt.ssl.template.yml"