Adding SSL certificate

I bought a SSL certificate and followed the instructions at:

Allow SSL / HTTPS for your Discourse Docker setup - Documentation / Self-Hosting - Discourse Meta
Which included placing ssl.key and ssl.crt at /var/discourse/shared/standalone/ssl/ and adding the additional templates to app.yml.

The site was running perfectly before but once I enabled SSL, it went down and gives a “Unable to connect” or “Server not found” error.

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

this is my app.yml file

##
## After making changes to this file, you MUST rebuild
## /var/discourse/launcher rebuild app
##
## BE *VERY* CAREFUL WHEN EDITING!
## YAML FILES ARE SUPER SUPER SENSITIVE TO MISTAKES IN WHITESPACE OR ALIGNMENT!
## visit http://www.yamllint.com/ to validate this file as needed

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  ## Uncomment the next line to enable the IPv6 listener
  #- "templates/web.ipv6.template.yml"
  - "templates/web.ratelimited.template.yml"
  ## Uncomment these two lines if you wish to add Lets Encrypt (https)
  - "templates/web.ssl.template.yml"
  - "templates/web.letsencrypt.ssl.template.yml"

## which TCP/IP ports should this container expose?
## If you want Discourse to share a port with another webserver like Apache or nginx,
## see https://meta.discourse.org/t/17247 for details
expose:
  - "80:80"   # http
  - "2222:22"
  - "443:443" # https
  
  
   ## The http or https CDN address for this Discourse instance (configured to pull)
  ## see https://meta.discourse.org/t/14857 for details
  #DISCOURSE_CDN_URL: https://discourse-cdn.example.com

  ## The maxmind geolocation IP account ID and license key for IP address lookups
  ## see https://meta.discourse.org/t/-/173941 for details
  #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

## The Docker container is stateless; all data is stored in /shared
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

can someone pls help me

You should not enable this template if you are not using Let’s Encrypt.
The certificate path will be changed.

Is there a specific reason you don’t want to use the default Let’s Encrypt certificate? It’s much easier this way.

My team has given me SSl certificate from digicert and i add that certificate ,private key and intermediate certificate to this location /var/discourse/shared/standalone/ssl
And also did some changes in app.yml file which i added in post .
I think i am missing so many things here can you pls clarify what i am doing wrong . I am open to every solution

Why?

Are you behind a firewall? If not a standard install will get a free certificate and Just Work.