This is to address the problem where you get certificate errors with any redirects or CNAME DNS entries which point to your actual installed Discourse (sub)domain.
If you do not have https configured already (you do if you have done a standard install recently) see Setting up Let’s Encrypt as your first step.
There are two patterns that need to be replaced, one ending in --keylength
, and another ending in --fullchainpath
(in the actual file, your original domain is before each of these switches). Enter your (sub)domain (and any additional subdomains preceded by -d
) and then add the following to your app.yml
hooks section (towards the end of the file):
after_ssl:
# tell letsencrypt what additional certs to get
- replace:
filename: "/etc/runit/1.d/letsencrypt"
from: /--keylength/
to: "-d =domain2= --keylength"
- replace:
filename: "/etc/runit/1.d/letsencrypt"
from: /--fullchainpath/
to: "-d =domain2= --fullchainpath"
global: true
This will allow you to have HTTPS configured for a second domain that will redirect to the correct one without certificate issues.
If you need to add multiple extra domains, you can enter something like this in the domain2
field: www.bananas.com -d forum.bananas.com
For example, if you want people who visit https://forum.example.com
to be redirected to your forum at https://community.example.com
without a certificate error, this is all you need.