Amazon AWS EC2 - HTTPS 443 does not work

AI-generated summary

User chrisonline reported that HTTPS (port 443) was not working on their Amazon AWS EC2 Discourse installation, while HTTP (port 80) worked fine. They received a Chrome “ERR_CONNECTION_REFUSED” error when accessing via public IP (https://18.220.41.204), despite security group rules allowing ports 80 and 443. Stephen questioned how HTTPS could work without a certificate, and later clarified that IP-based installs are unsupported — Let’s Encrypt requires DNS verification. chrisonline initially thought HTTPS might work with a warning, but Stephen reiterated that a certificate is mandatory for HTTPS. chrisonline confirmed no certificate was in use and planned to shift focus to their main domain. pfaffman asked if discourse-setup was run with Let’s Encrypt enabled. jose-zama noted that the HTTPS link later began working, suggesting a certificate was added. chrisonline confirmed they pointed a subdomain to the IP and reran setup with SSL, which resolved the issue after a few hours. Stephen reiterated that Let’s Encrypt works immediately via DNS verification, and IP-based installs are not supported.

I have setup the Discourse installation on a Amazon AWS EC2 without Let’s Encrypt.
The docker is listening on port 80 and 443 but I can’t access the site via HTTPS.

HTTP works fine but not HTTPS.

image

With HTTPS I get the chrome browser error “ERR_CONNECTION_REFUSED”

I have already allowed 80 and 443 withing Amazon EC2:

I am trying to access the site at the moment via the public IP4:
http://18.220.41.204 is working but not https://18.220.41.204.

Can anybody help?

Https over a port without a certificate? How?

So this does not work? I tought it is working but I get a warning in the browser that this site is not secure.

Accessing via IP isn’t supported. What certificate are you using to access over 443? Self-signed?

No certificate at the moment.
This was only a test before I point my domain subdomain to the Amazon EC2.

I will create another thread of my main problem because I wanted to test this with Amazon EC2 :wink:

Did you run discourse-setup? Did you enable let’s encrypt there?

It seems you fixed it using a certificate as above link is currently responding.

I pointed my subdomain now to the IP and rerun the setup with SSL.

After a few hours it is now working.

As I said earlier, IP based installs are wholly unsupported.

Let’s encrypt will work immediately, the certificate verification method is DNS.