Poiché Discourse ora supporta l’esecuzione su Raspberry Pi, l’esecuzione di una piccola istanza nel tuo home lab diventerà un caso d’uso comune. Tuttavia, molti ISP residenziali bloccano il traffico in entrata sulle porte 80/443 di cui Discourse ha bisogno.
L’unica modifica necessaria è cambiare l’URL da url: http://localhost:8000 a url: http://localhost:80. Lascia già il tunnel in esecuzione in background.
Disabilita Rocket Loader
Devi disabilitare Cloudflare Rocket Loader affinché Discourse funzioni correttamente.
Penso sia meglio menzionare la porta. Se l’utente decide di utilizzare Argo Tunnel, dovrà configurare la propria porta in modo che corrisponda alle impostazioni del tunnel. Ad esempio:
Ho seguito tutto secondo la tua guida sopra e tutto funziona bene, tuttavia;
Cliccando sul link nell’email per attivare il mio account, vengo riportato alla pagina web corretta con un pulsante di attivazione, tuttavia questo pulsante non funziona. Ho cercato indicazioni su questo forum e sembra un problema di dominio-ip?
Ho confermato che force_https è impostato su true nella configurazione.
Qualche pensiero / hai riscontrato questo problema (screenshot allegato) del pulsante che non fa nulla?
cloudflared tunnel info ******
2022-01-24T04:55:47Z INF Impossibile determinare il percorso predefinito del certificato di origine. Nessun file cert.pem in [~/.cloudflared ~/.cloudflare-warp ~/cloudflare-warp /etc/cloudflared /usr/local/etc/cloudflared] originCertPath=
2022-01-24T04:55:47Z ERR È necessario specificare il percorso del certificato di origine con l'opzione --origincert, o impostare la variabile d'ambiente TUNNEL_ORIGIN_CERT. Vedere https://developers.cloudflare.com/argo-tunnel/reference/arguments/ per maggiori informazioni. originCertPath=
errore nell'analisi dell'ID tunnel: Errore nell'individuazione del certificato di origine: il client non ha specificato il percorso origincert quando eseguito dal terminale
Sembra che tu abbia smarrito il file del certificato? Se stai eseguendo come root, il file dovrebbe trovarsi sotto /root/.cloudflared/
e non dove l’hai messo come
Qual è l’errore corrente che ricevi quando navighi all’indirizzo del tuo sito web? È solo una pagina di errore generica di Cloudflare Argo Tunnel?
Potresti mostrarci i tuoi container in esecuzione eseguendo il comando: docker ps e mostrarci i tuoi tunnel attuali in esecuzione con cloudflared tunnel list || Assicurati di sfocare il tuo percorso Argo / eventuali container non pertinenti!
Qual è l’errore corrente che ricevi quando navighi all’indirizzo del tuo sito web? È solo una pagina di errore generica di Cloudflare Argo Tunnel?
No, non c’è nessuna pagina di errore di Cloudflare Argo Tunnel.
ERR_NAME_NOT_RESOLVED
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f1bde9b70f55 local_discourse/app \"/sbin/boot\" 11 hours ago Up 11 hours 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp app
Quando si utilizza questo comando come utente root cloudflared tunnel list
2022-01-24T15:55:03Z INF Impossibile determinare il percorso del certificato di origine predefinito. Nessun file cert.pem in [~/.cloudflared ~/.cloudflare-warp ~/cloudflare-warp /etc/cloudflared /usr/local/etc/cloudflared] originCertPath=
2022-01-24T15:55:03Z ERR È necessario specificare il percorso del certificato di origine con l'opzione --origincert, o impostare la variabile d'ambiente TUNNEL_ORIGIN_CERT. Vedi https://developers.cloudflare.com/argo-tunnel/reference/arguments/ per maggiori informazioni. originCertPath=
Errore nell'individuazione del certificato di origine: il client non ha specificato il percorso di origincert durante l'esecuzione dal terminale
Quando si utilizza questo comando come utente pi cloudflared tunnel list
È possibile ottenere informazioni più dettagliate per ogni tunnel con `cloudflared tunnel info <nome/uuid>`
ID NOME CREATO CONNESSIONI
371dd57c-**************** ze****2022-01-24T03:35:19Z
È normale?
Dobbiamo usare un sottodominio per DISCOURSE_HOSTNAME nel file config.yml, giusto?
Aggiornamento: Ho disinstallato Cloudflared e l’ho reinstallato con l’utente root e ora funziona. Non capisco ancora dove esattamente ho sbagliato nel mio tentativo precedente.
In qualche modo sono finalmente riuscito a far funzionare il sito su Raspberry e ora è online.
Non capisco bene come. Ho rimosso Cloudflared e l’ho reinstallato con l’utente root. E funziona…
Ho due domande:
1- Sembra che il mio certificato SSL non funzioni correttamente, quindi non riesco ad accedere al mio account di amministrazione su Discourse. (Sembra che funzioni in una scheda in incognito. Forse è una questione di cache.) Usate full o full(strict)?
Se hai già effettuato l’accesso e hai un file di configurazione in ~/.cloudflared/, questi verranno copiati in /etc/cloudflared/.
Se non hai un file di configurazione, dovrai creare un file config.yml con i campi elencati sopra. Puoi passare un file personalizzato eseguendo cloudflared --config CONFIG-FILE service install.
Ho controllato, non ho un file di configurazione in /etc/cloudflared/. In questo caso, cosa devo fare per eseguire questo servizio automaticamente?
Penso che la reinstallazione avrebbe risolto il problema di cloudflared che non trova il certificato…
Per quanto riguarda l’esecuzione di Cloudflare come servizio, il file di configurazione che hai creato quando hai eseguito il servizio manualmente dovrà essere spostato in /etc/cloudflared.
Non sono sicuro di poter collegare siti personali qui, quindi fammi sapere se devo rimuoverlo, ma ho trattato questo argomento in uno dei miei blog nella sezione chiamata: ‘Setup and Run Cloudflared as a Service’