Impossibile connettersi all'installazione di discourse

Sto provando a installare discourse da zero su un server OVH bare metal con Fedora Server 38 e l’installazione è andata a buon fine, ma non riesco a connettermi utilizzando il nome host che ho specificato in app.yml forums.dogsrv.dev.
Il firewall perimetrale OVH è disabilitato, firewalld è disabilitato, iptables è disabilitato, DNS si risolve correttamente, non so cos’altro controllare a questo punto, qualsiasi idea sarebbe apprezzata.

Puoi controllare in /var/discourse/shared/standalone/log/var-log/nginx/production.log. La mia ipotesi è che tu sia stato limitato da Let’s Encrypt perché il DNS o qualcos’altro ha impedito il rilascio di un certificato.

Se è così, puoi aspettare una settimana o usare un sottodominio diverso (come forum invece di forums).

Hai eseguito discourse-setup?

1 Mi Piace

Stranamente, non ho un file production.log in quella cartella, tuttavia ho un file error.log che contiene solo questo errore ripetutamente

2023/06/02 07:27:34 [emerg] 289163#289163: cannot load certificate "/shared/ssl/forums.dogsrv.dev.cer": PEM_read_bio_X509_AUX() failed (SSL: error:0909006C:PEM routines:get_name:no start line:Expecting: TRUSTED CERTIFICATE)

e infatti, quando ho controllato quel file cert, era vuoto.

Ho eseguito discourse-setup inizialmente, ma si è sempre bloccato con

Hostname for your Discourse? [forums.dogsrv.dev]:

Checking your domain name . . .
WARNING: Port 443 of computer does not appear to be accessible using hostname: forums.dogsrv.dev.
WARNING: Connection to http://forums.dogsrv.dev (port 80) also fails.

che ho presunto fosse dovuto al fatto che il TLD .dev è nella lista di precaricamento HSTS di Google per impostazione predefinita, quindi ho configurato manualmente il file app.yml ed eseguito ./launcher rebuild app, che sembrava funzionare bene.

Ho provato a cambiare il sottodominio in forum e ho ricostruito l’app, ma ho ancora lo stesso problema e ricevo lo stesso errore di prima, tranne che con forum invece di forums.

Hai aperto le porte sul tuo firewall al di fuori di Docker?

Sì, firewalld è disabilitato completamente insieme a iptables. Se installo e configuro manualmente Apache o Nginx sul server stesso, posso vedere che sia sulla porta 80 che sulla 443 il traffico è consentito, ma a causa di HSTS ho bisogno di avere la riscrittura HTTPS abilitata su tutte le richieste HTTP e un certificato SSL funzionante, che è la cosa che al momento sta creando problemi.

Forse dovresti aprire le porte 80 e 443 allora?

1 Mi Piace

Sembra ancora che qualcosa stia interferendo con il traffico in entrata. Stai usando Cloudflare per il DNS?

No, sto usando Google.

Se il test che Discourse-setup sta eseguendo fallisce, devi trovarne la spiegazione. È abbastanza chiaro che ha ragione e che Let’s Encrypt non può assegnare un certificato.

Dato che sai come installare nginx e apache, puoi provare a far emettere un certificato a Let’s Encrypt, ma è abbastanza chiaro che sta bloccando 80 e/o 443.

1 Mi Piace

Ok, il problema era che discourse-setup è rotto quando si utilizzano versioni più recenti di netcat, come si può vedere in questa pull request: https://github.com/discourse/discourse_docker/pull/697
La rimozione del flag -p risolve il problema di discourse-setup che segnala erroneamente di non poter stabilire una connessione sulle porte, e quindi termina e ricostruisce l’app con successo e ora posso connettermi alla mia installazione senza problemi.
Grazie per l’aiuto.

1 Mi Piace

Sono contento che tu sia riuscito a farlo funzionare! Sono confuso sul motivo per cui la ricompilazione non riusciva a ottenere il certificato, dato che pensavo che avresti fatto la ricompilazione e saltato il passaggio di discourse-setup.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.