Discourse version at forum.abc.com.au: NOT FOUND

Discourse installed using official guide on github
Everything went well. but getting 502 error while accessing forum

tried checking rails production logs, and nothing I could see production_error or sidekiq logs

did see this with tail
Creating scope :open. Overwriting existing method Poll.open.
Creating scope :open. Overwriting existing method Poll.open.
Can’t reach ‘/images/welcome/discourse-edit-post-animated.gif’ to get its dimension.

running discourse doctor says

Discourse version at forum.abc.com.au: NOT FOUND

tried disabling ssl and rebuild it, able to access the forum.

There must be problem with ssl, which I can’t figure out. While installing ssl connection to IP resolution succeeded

Pleasae help

1 « J'aime »

It sound like before you enabled https you linked to non secure images.

1 « J'aime »

@pfaffman Thank you for the reply.

It’s a fresh install. No way we can manually link

After digging into all logs, could found this is the error is with LetsEncrypt cert issuance. Anyone facing similar issue might help below.

first I saw this error in Nginx logs

cannot load certificate "/shared/ssl/forum.abc.com.au.cer": PEM_read_bio_X509_AUX() failed (SSL: error:0906D06C:PEM routines:PEM_read_bio:no start line:Expecting: TRUSTED CERTIFICATE)

then tried to check ssl logs

forum.abc.com.au:Verify error:CAA record for forum.abc.com.au prevents issuance

Before running discourse install script for sub domain we need to verify if main domain is having any CAA records and check the Certificate Authority if it’s not LetsEncrypt (In my case, main domain CAA is comodoca.com) , your letsencrypt certs for discourse won’t be issued

Fix: You need to add CAA record for discourse subdomain as mentioned here
Acme:error:caa :: CAA record for ... prevents issuance - Help - Let's Encrypt Community Support

Delete the old cert files and try rebuilding again

rm -rf /var/discourse/shared/standalone/ssl
rm -rf /var/discourse/shared/standalone/letsencrypt
./launcher rebuild app

If you know a way to test for those records that requires no extra software, I’d consider having discourse-setup test for it, but I’ve never seen this before.

Nice work figuring that one out!

It’s a fair assumption that if you own a domain and know what CAA is to have been able to configure it that your understand the implications of let’s encrypt.

4 « J'aime »

@pfaffman
dig caa {domain.tld} will return the record.
We want to first search if it returns any record
Then if returns whether the issue authority is other than letsencrypt.org

But this is very rare case. Not sure if we want to include that.

@Stephen

Correct. if I own a domain, I know what I’m doing with it.
I was helping somebody, this problem might have with hosts that are using cpanel and providing autossls with other providers such as comodo. They add bunch of records by default when they create a site (WordPress) in cpanel

Anyway, this is very rare case, have seen this for the first time

We see CAA crop up here occasionally, the default response we get when we point out that they’ve restricted certificate issuance for their entire domain is usually :man_facepalming:t2:

1 « J'aime »

@Stephen

This is interesting! ! need to check, I don’t know if we can lock certificate issuance on complete domain.
The restricted certificate issuance for entire domain, meaning all sub domains of it ?

If you set a CAA for @ (the domain) then that applies to both the top-level domain and subdomains, you can still add a specific CAA to subdomain.yourdomain.com for a service such as Let’s Encrypt which will restrict the scope for which LE can issue a certificate.

So:

domain.com.    CAA   0 issue "comodoca.com"
sub.domain.dom.    CAA   0  issue "letsencrypt.org"

You can also specify issuewild instead of issue to permit a CA to issue a wildcard certificate, and iodef to associate an email address which will be notified of policy violations.

1 « J'aime »

Même problème ici. Les commandes n’ont pas résolu le problème. J’ai changé pour le DNS et le proxy de Cloudflare. Le problème persiste pour moi.

Je l’ai fait plusieurs fois et je n’ai pas rencontré cela. Mais je suis définitivement un non-codeur, un non-expert, un non-tout-ce-qui-y-est-lié. Juste un utilisateur final heureux. Mais c’est frustrant.

1 « J'aime »

Ma meilleure supposition est que vous aviez Cloudflare configuré en proxy et que vous avez reconstruit suffisamment de fois pour atteindre les limites de taux de Let’s Encrypt et que vous devez maintenant attendre une semaine pour obtenir un certificat.

La solution rapide et simple est de choisir un nouveau sous-domaine, de configurer Cloudflare en DNS uniquement et de reconstruire. Si cela fonctionne, alors j’ai raison à propos de la limitation de débit et vous pouvez soit apprendre à aimer le nouveau sous-domaine, soit attendre une semaine jusqu’à ce qu’il vous permette de réessayer.

4 « J'aime »

Question honnête : la reconstruction demande-t-elle toujours un nouveau certificat à chaque fois ?

2 « J'aime »

Je me posais la même question, je ne suis pas sûr de la requête, mais aucun nouveau certificat ne semble être émis si un est trouvé valide (je viens de reconstruire un bac à sable)

2 « J'aime »

Cela se produit si un certificat valide n’existe pas.

2 « J'aime »