Unable To Connect/Connection Refused due to https certificates

We successfully installed Discourse through DigitalOcean using the following guide:

discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub

Our DNS is fully propagated, and we also installed our SSL CERTS per the following guide:

When browsing to our Discourse installation via IP or domain name, we get the following message:

This site can’t be reached

XX.XX.XX.XX refused to connect.
Try:
Checking the connection
Checking the proxy and the firewall
ERR_CONNECTION_REFUSED

What could be the problem?

Almost certainly a SSL problem. Try rebuilding with plain HTTP first to make sure everything is working before adding on the complexity of HTTPS.

Using let’s encrypt is an easy way to get ssl.

… thanks for your help.

I am running into this same issue, To rebuild with plain HTTP, does that require just commenting out the SSL template line in app.yml?

Yes, but browsers that have visited your site will refuse to connect. You really should use https.

For anyone that face it in the future, make sure to not exceed the rate limit of LetsEncrypt:

You can see if it was exceeded in the logs:

./launcher logs app

Encontrei exatamente o mesmo problema no Chrome.

No meu caso, várias configurações estavam incorretas: algumas eram do Discourse e outras da configuração do servidor de hospedagem. Vou postar minha lista de verificação aqui para sua referência:

  1. Verifique /var/discourse/containers/app.yml

(Siga esta postagem: Allow SSL / HTTPS for your Discourse Docker setup)

Certifique-se de permitir HTTPS/HTTP (abra a porta 443, descomente a configuração do modelo relacionada ao SSL e as configurações relacionadas ao Let’s Encrypt) ou apenas requisições HTTP (bloqueie a porta 443, comente a configuração do modelo relacionada ao SSL e as configurações relacionadas ao Let’s Encrypt).

Se foram feitas alterações no app.yml, execute ./launcher rebuild app para ativar as configurações atualizadas.

  1. Execute ./launcher logs app.

Se você falhar frequentemente ao reconstruir um servidor Discourse funcional, como eu fiz, pode ter solicitado muitas credenciais do Let’s Encrypt ao mesmo tempo e excedido o limite deles.

Ao executar ./launcher logs app, será impresso um json. com um erro 429 incluído.

  1. Verifique as configurações do Security group (grupo de segurança) da sua instância do servidor ECS

No meu caso, o Security group é simplesmente um conjunto de portas permitidas (por exemplo, 80 HTTP e 443 HTTPS), que permitem controlar o tráfego do seu servidor com o mundo externo.

Certifique-se de permitir as portas necessárias para hospedar o Discourse.

  1. Verifique as configurações do firewall

No meu caso, o passo 3 não abriu as portas necessárias. Algo deu errado com as configurações do meu firewall.

É estranho, pois nunca configurei o firewall do meu servidor, mas essas portas foram realmente abertas após configurar com:
apt install firewall-cmd
firewall-cmd --permanent --add-port=20-21/tcp (… e as outras portas)
firewall-cmd --reload

Verifique o status das portas abertas para seu domínio usando alguns serviços online.

Tive o mesmo problema - excedi o limite de taxa para certificados.

Corrigi seguindo sua etapa #1 (comentando os 2 modelos SSL no app.yml) e abrindo o site em outro navegador após a reconstrução.

Acredito que poderei reativar o SSL assim que uma semana se passar.

Você conseguiu conectar após uma semana?