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?
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?
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.
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.
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.