Adicionando certificado SSL

Comprei um certificado SSL e segui as instruções em:

Permitir SSL / HTTPS para sua configuração do Discourse Docker - Documentação / Auto-hospedagem - Discourse Meta

O que incluiu colocar ssl.key e ssl.crt em /var/discourse/shared/standalone/ssl/ e adicionar os templates adicionais ao app.yml.

O site estava funcionando perfeitamente antes, mas depois que ativei o SSL, ele caiu e exibe um erro de “Não é possível conectar” ou “Servidor não 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 é o meu arquivo app.yml

##
## Após fazer alterações neste arquivo, você DEVE reconstruir
## /var/discourse/launcher rebuild app
##
## TENHA MUITO CUIDADO AO EDITAR!
## ARQUIVOS YAML SÃO SUPER SUPER SENSÍVEIS A ERROS DE ESPAÇAMENTO OU ALINHAMENTO!
## visite http://www.yamllint.com/ para validar este arquivo conforme necessário


templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  ## Descomente a próxima linha para habilitar o listener IPv6
  #- "templates/web.ipv6.template.yml"
  - "templates/web.ratelimited.template.yml"
  ## Descomente estas duas linhas se desejar adicionar o Let's 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
  - "2222:22"
  - "443:443" # https


   ## O endereço CDN http ou https para esta instância do Discourse (configurado para puxar)
  ## veja https://meta.discourse.org/t/14857 para detalhes
  #DISCOURSE_CDN_URL: https://discourse-cdn.example.com

  ## O ID da conta MaxMind Geolocation e a chave de licença para pesquisas de endereço IP
  ## veja https://meta.discourse.org/t/-/173941 para detalhes
  #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

## O contêiner Docker é sem estado; todos os dados são armazenados em /shared
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

alguém pode me ajudar, por favor

Você não deve habilitar este template se não estiver usando o Let’s Encrypt.
O caminho do certificado será alterado.

Existe algum motivo específico para você não querer usar o certificado Let’s Encrypt padrão? É muito mais fácil dessa forma.

Minha equipe me deu um certificado SSL da Digicert e adicionei esse certificado, chave privada e certificado intermediário a este local /var/discourse/shared/standalone/ssl.
Também fiz algumas alterações no arquivo app.yml que adicionei na postagem.
Acho que estou perdendo muitas coisas aqui, você pode esclarecer o que estou fazendo de errado? Estou aberto a todas as soluções.

Por quê?

Você está atrás de um firewall? Se não, uma instalação padrão obterá um certificado gratuito e funcionará.