Añadiendo certificado SSL

Compré un certificado SSL y seguí las instrucciones en:

Permitir SSL / HTTPS para tu configuración de Discourse Docker - Documentación / Autoalojamiento - Discourse Meta
Lo que incluyó colocar ssl.key y ssl.crt en /var/discourse/shared/standalone/ssl/ y agregar las plantillas adicionales a app.yml.

El sitio funcionaba perfectamente antes, pero una vez que habilité SSL, se cayó y muestra un error de “No se puede conectar” o “Servidor no encontrado”.

2024/06/13 09:25:08 [emerg] 5152#5152: cannot load certificate "/shared/ssl/communities-dev.np.norton.com.cer": PEM_read_bio_X509_AUX() failed (SSL: error:0909006C:PEM routines:get_name:no
2024/06/13 09:25:09 [warn] 5182#5182: the "listen ... http2" directive is deprecated, use the "http2" directive instead in /etc/nginx/conf.d/discourse.conf:60

este es mi archivo app.yml

##
## Después de realizar cambios en este archivo, DEBE reconstruir
## /var/discourse/launcher rebuild app
##
## ¡TENGA MUCHO CUIDADO AL EDITAR!
## ¡LOS ARCHIVOS YAML SON SÚPER SÚPER SENSIBLES A ERRORES DE ESPACIO EN BLANCO O ALINEACIÓN!
## visita http://www.yamllint.com/ para validar este archivo según sea necesario


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 Let's Encrypt (https)
  - "templates/web.ssl.template.yml"
  - "templates/web.letsencrypt.ssl.template.yml"


## ¿qué puertos TCP/IP debe exponer este contenedor?
## Si desea que Discourse comparta un puerto con otro servidor web como Apache o nginx,
## consulte https://meta.discourse.org/t/17247 para obtener detalles
expose:
  - "80:80"   # http
  - "2222:22"
  - "443:443" # https


   ## La dirección CDN http o https para esta instancia de Discourse (configurada para extraer)
  ## consulte https://meta.discourse.org/t/14857 para obtener detalles
  #DISCOURSE_CDN_URL: https://discourse-cdn.example.com

  ## El ID de cuenta de MaxMind Geolocation y la clave de licencia para búsquedas de direcciones IP
  ## consulte https://meta.discourse.org/t/-/173941 para obtener detalles
  #DISCOURSE_MAXMIND_ACCOUNT_ID: 123456
  #DISCOURSE_MAXMIND_LICENSE_KEY: 1234567890123456
  DISCOURSE_USE_SSL: true
  DISCOURSE_SSL_CERTIFICATE_PATH: /var/discourse/shared/standalone/ssl/domain-name.cer
  DISCOURSE_SSL_KEY_PATH: /var/discourse/shared/standalone/ssl/domain-name.key
  DISCOURSE_SSL_CA_PATH: /var/discourse/shared/standalone/ssl/intermediate.cer

## El contenedor Docker no tiene estado; todos los datos se almacenan en /shared
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

¿alguien puede ayudarme?

No deberías habilitar esta plantilla si no estás usando Let’s Encrypt.
La ruta del certificado cambiará.

¿Hay alguna razón específica por la que no quieras usar el certificado Let’s Encrypt predeterminado? Es mucho más fácil de esta manera.

Mi equipo me ha proporcionado un certificado SSL de DigiCert y he añadido ese certificado, la clave privada y el certificado intermedio a esta ubicación /var/discourse/shared/standalone/ssl.
También he realizado algunos cambios en el archivo app.yml que he añadido en la publicación.
Creo que me faltan muchas cosas aquí, ¿podrías aclarar qué estoy haciendo mal? Estoy abierto a cualquier solución.

¿Por qué?

¿Estás detrás de un firewall? Si no, una instalación estándar obtendrá un certificado gratuito y funcionará sin problemas.