Ciao! Ho appena provato a configurare il mio forum Discourse. Quando ho cliccato sul link nell’email, ho visto un pulsante ma non sono riuscito a premere. Ho notato diversi errori, che sembrano essere causati dal tentativo di caricare file tramite HTTP. Questo potrebbe essere dovuto al fatto che non sto utilizzando HTTPS tramite Discourse, ma piuttosto tramite il mio server web apache2 usando un ProxyPass. Come posso far sì che richieda i file tramite HTTPS senza utilizzare l’HTTPS di Discourse? (O indicami un modo per utilizzare i miei file .crt e .key già esistenti in modo semplice, che funzioni altrettanto bene
)
Hai abilitato l’uso forzato di HTTPS in Discourse?
Come potrei farlo? (senza utilizzare LetsEncrypt o SSL tramite Discourse)
Dovrei semplicemente decommentare templates/web.ssl.template.yml e lasciare templates/web.letsencrypt.ssl.template.yml commentato? (Scusa per la domanda, ma la ricostruzione richiede così tanto tempo che preferisco essere sicuro)
Basta andare nelle impostazioni e attivare la casella che dice ‘force https’.
Per chiarezza, assicurati al 100% che il tuo reverse proxy possa gestire SSL per Discourse prima di abilitare quell’impostazione.
Discourse non funziona bene con Apache2… Se possibile, passa a Nginx.
Aspetta, quali impostazioni? Dove diavolo dovrei trovare una casella di controllo?
community.example.net/admin è il percorso in cui troverai il pannello di amministrazione di Discourse.
Ma per farlo ho bisogno di un account sul mio forum, che non posso creare senza risolvere il problema HTTPS
Puoi abilitare l’SSL forzato tramite la console:
./launcher enter app
rails c
SiteSetting.force_https = true
exit
exit
Devo ricostruire o fare qualcosa dopo?
Modifica: l’ho ricostruito. Ricevo ancora lo stesso errore che alcuni file vengono ancora caricati tramite HTTP
force_https è stato rimosso dall’interfaccia di amministrazione in quanto ha creato più confusione che altro.
Poiché Discourse ora installa HTTPS di default, è solo in casi come questo che è necessario abilitarlo manualmente.
Non era abilitato di default per me. Stavo avendo problemi a utilizzare lo script di installazione, quindi ho modificato il file app.yml. È questo il motivo?
Stai utilizzando HTTP dietro il proxy disabilitando il template per HTTPS?
I due template HTTPS sono stati disabilitati di default per me.
Discourse è in esecuzione sulle due porte predefinite su Server 2.
Sto quindi utilizzando un ProxyPass in un VHost apache2 (in esecuzione su Server 1) dove SSL è configurato.
Ho appena notato che posso abilitare HTTPS direttamente tramite Discourse e, dato che Discourse è in esecuzione sulle porte predefinite, posso semplicemente inserire community.website.tld nell’indirizzo IP di Server 2.
Come procedo per abilitare SSL? Devo decommentare i due template e poi inserire l’email di LetsEncrypt? Inoltre, come creo un account su LetsEncrypt? Non riesco a trovare alcun pulsante “Registrati” sul loro sito web.
Esattamente così: abilita il template per HTTPS e Let’s Encrypt, assicurati che la porta 443 sia esposta e specifica un indirizzo email prima di ricostruire.
Ci sono pochissimi motivi validi per mettere Discourse dietro un proxy. Se ha un server dedicato e un FQDN, sarà molto più semplice gestirlo con quanto sopra.
Ma quale indirizzo e-mail devo specificare lì? Dice che serve un account Let’s Encrypt, quindi devo crearne uno? Dove?
Basta un indirizzo email per ricevere le notifiche. Non è necessario registrarlo in anticipo.
Assicurati che il proxy imposti correttamente l’intestazione X-Forwarded-Proto su https, il che dovrebbe risolvere il rilevamento di https.
Disattiva Cloudflare per ora. A meno che tu non sia frequentemente attaccato, causa più danni che benefici.
Se la nuvola arancione è abilitata, Discourse non può ottenere il certificato da Let’s Encrypt.



