- Configuração de domínio concluída
- Instância AWS EC2 criada
- Certificado emitido usando ACM
- Configurou 443 e conectou o certificado via ALB
- ALB roteia o tráfego do domínio para a instância EC2 na porta 80
Antes de construir o Discourse, modifiquei o arquivo app.yml para configurar conexões HTTP:
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
## Descomente a próxima linha para habilitar o ouvinte IPv6
#- "templates/web.ipv6.template.yml"
- "templates/web.ratelimited.template.yml"
## Descomente estas duas linhas se desejar adicionar o Lets Encrypt (https)
#- "templates/web.ssl.template.yml"
#- "templates/web.letsencrypt.ssl.template.yml"
## quais portas TCP/IP este contêiner deve expor?
## Se você quiser que o Discourse compartilhe uma porta com outro servidor web como Apache ou nginx,
## veja https://meta.discourse.org/t/17247 para detalhes
expose:
- "80:80" # http
#- "443:443" # https
Após fazer as alterações, construí o Discourse e verifiquei a configuração, mas o nginx continua solicitando uma chave SSL com o seguinte erro:
[emerg] 7416#7416: cannot load certificate "/shared/ssl/discourse.xxxxxxx.com.cer": PEM_read_bio_X509_AUX() failed (SSL: error:0480006C:PEM routines::no start line:Expecting: TRUSTED CERTIFICATE)
Existe alguma maneira de impedir que o nginx tente carregar a chave ou de fazer o nginx funcionar corretamente via HTTP?