- Configuración de dominio completada
- Instancia de AWS EC2 creada
- Certificado emitido usando ACM
- Se configuró el puerto 443 y se conectó el certificado a través de ALB
- ALB enruta el tráfico del dominio a la instancia EC2 en el puerto 80
Antes de compilar Discourse, modifiqué el archivo app.yml para configurar las conexiones HTTP:
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
## Descomenta la siguiente línea para habilitar el oyente IPv6
#- "templates/web.ipv6.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"
## ¿Qué puertos TCP/IP debe exponer este contenedor?
## Si deseas que Discourse comparta un puerto con otro servidor web como Apache o nginx,
## consulta https://meta.discourse.org/t/17247 para obtener detalles.
expose:
- "80:80" # http
#- "443:443" # https
Después de realizar los cambios, compilé Discourse y verifiqué la configuración, pero nginx sigue solicitando una clave SSL con el siguiente error:
[emerg] 7416#7416: no se puede cargar el certificado "/shared/ssl/discourse.xxxxxxx.com.cer": PEM_read_bio_X509_AUX() falló (SSL: error:0480006C:PEM routines::no start line:Expecting: TRUSTED CERTIFICATE)
¿Hay alguna forma de evitar que nginx intente cargar la clave o de hacer que nginx funcione correctamente a través de HTTP?