Até onde eu sei, os containers em si são todos ‘padrão’ (então, deduzo que cada um esteja rodando o nginx) e, sim, o HAProxy lida com todo o SSL e direciona as requisições para cada container.
Minha configuração está de acordo com o artigo aqui: Set up Discourse on a server with existing Apache sites (com a versão SSL da configuração do HAProxy aqui).
Houve um problema com a configuração do 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
Onde, por algum motivo, todos os backends do Discourse tinham server2 na segunda linha — eu mudei esses para server2, server3 ontem, etc., mas não fez nenhuma diferença (e estava funcionando bem assim anteriormente).
Existem arquivos de log específicos que eu poderia verificar que possam fornecer mais pistas? Talvez arquivos de log do Docker?
Sim, esses estão comentados:
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
- "templates/web.ratelimited.template.yml"
## Descomente essas duas linhas se quiser adicionar o Lets Encrypt (https)
#- "templates/web.ssl.template.yml"
#- "templates/web.letsencrypt.ssl.template.yml"