Soluzione della community

Usa Cloudflare Tunnel su CasaOS senza inoltro delle porte

A September 2023 CasaOS tutorial showing the built-in Cloudflared app, creation of a Cloudflare Tunnel, copying its connector token into CasaOS, and verifying that the tunnel becomes Healthy.

Il tutorial di CasaOS del settembre 2023 è un vero articolo passo passo, non soltanto un suggerimento di link. Mostra il flusso storico completo seguito all'epoca dagli utenti di CasaOS: installare l'app Cloudflared, creare un Cloudflare Tunnel gestito da remoto, copiare il token del connettore, incollare quel token nell'interfaccia Web di Cloudflared di CasaOS, avviare il connettore e verificare che Cloudflare indichi il tunnel come integro.

L'architettura di base è ancora utile, ma per una pagina destinata a rimanere online a lungo occorre aggiornare due aspetti. Primo, l'interfaccia di Cloudflare Zero Trust è cambiata dal 2023. Secondo, il token del connettore mostrato nella moderna configurazione di Cloudflare Tunnel è una credenziale sensibile e non dovrebbe mai essere esposto nelle schermate né copiato dall'esempio di un altro utente.

Questo è un tutorial per CasaOS, non una procedura per ZimaOS

La fonte appartiene alla categoria CasaOS e utilizza un pacchetto del CasaOS App Store con una propria piccola interfaccia Web di Cloudflared. ZimaOS potrebbe eseguire la stessa tecnologia Cloudflare upstream, ma non si deve presumere che la sua interfaccia di gestione delle app e il suo modello di rete corrispondano esattamente alle schermate del 2023.

Passaggio 1: installa Cloudflared dal CasaOS App Store

CasaOS App Store con l'applicazione Cloudflared disponibile per l'installazione
Il tutorial originale iniziava con l'applicazione Cloudflared di CasaOS, anziché con un container Docker creato manualmente.

Lo scopo di questa app è eseguire il connettore Cloudflare sul server domestico. Il connettore stabilisce un percorso in uscita crittografato verso Cloudflare, quindi il router non ha bisogno di una nuova regola di port forwarding in ingresso semplicemente per mantenere il tunnel online.

Passaggio 2: crea un tunnel in Cloudflare Zero Trust

Pagina del tunnel Cloudflare Zero Trust con il controllo «Crea un tunnel» visibile
L'interfaccia di Cloudflare è cambiata rispetto a questa schermata, ma il passaggio logico consiste ancora nel creare un tunnel gestito da remoto per il connettore.

Assegna al tunnel un nome che identifichi il server o la posizione, anziché un'applicazione specifica. Un singolo connettore può instradare diversi hostname o servizi, quindi nomi come casa-casaos oppure stanza-server invecchiano meglio di solo-jellyfin.

Passaggio 3: copia il token del connettore, in modo privato

Pagina di configurazione del connettore Cloudflare Tunnel che mostra un comando Docker per il connettore contenente il token del tunnel
Il comando del connettore include un token che autorizza un connettore a unirsi al tunnel gestito da remoto.

Le indicazioni attuali di Cloudflare rendono esplicito il confine di sicurezza: un token del tunnel è sufficiente per eseguire un connettore per quel tunnel gestito da remoto. Trattalo come una password. Se un token reale è mai comparso in uno screenshot o in un log pubblico, ruotalo.

Passaggio 4: apri l'interfaccia Web Cloudflared di CasaOS

Il pacchetto storico forniva una piccola interfaccia avviata dall'icona dell'app CasaOS. Quell'interfaccia accettava il token del connettore, così gli utenti non dovevano comporre manualmente il comando Docker completo.

Questo livello di praticità apparteneva a quel pacchetto CasaOS. Un container Cloudflared attuale potrebbe invece essere configurato tramite variabili d'ambiente, argomenti della riga di comando, un file Compose o le impostazioni del pacchetto attuale.

Passaggi 5 e 6: salva il token e avvia il connettore

Nell'interfaccia del 2023, incollare il token e salvare modificava lo stato del pulsante in Start. Avviando il connettore, lo stato cambiava in Stop. Questi stati visivi erano specifici del pacchetto, ma rappresentano due verifiche separate: la configurazione era stata accettata, quindi il processo del connettore era stato effettivamente avviato.

Se un connettore moderno si chiude immediatamente, controlla i log prima di modificare i record DNS. Un tunnel non connesso non può instradare un hostname, indipendentemente dalla configurazione DNS di Cloudflare.

Passaggio finale: verifica che il tunnel sia sano

Il tutorial originale tornava all'elenco dei tunnel Cloudflare e verificava la presenza dello stato Healthy. Questo rimane un passaggio di convalida importante. Un hostname pubblico configurato non dimostra che il connettore stesso sia connesso.

Uno stato sano significa che Cloudflare riesce a rilevare almeno un connettore attivo per il tunnel. Non dimostra ancora che il connettore riesca a raggiungere l'applicazione locale che si trova dietro di esso.

Aggiungi una route al servizio locale corretto

Dopo che il connettore è online, associa un hostname all’origine effettiva dell’applicazione. Per un’applicazione HTTP, potrebbe trattarsi di un IP LAN più una porta oppure dell’indirizzo di un altro container raggiungibile da Cloudflared.

Se Cloudflared viene eseguito all’interno di una normale rete bridge Docker, localhost si riferisce al container Cloudflared stesso. Non significa automaticamente l’host CasaOS. Questa distinzione è una delle cause più comuni per cui un tunnel in stato “Healthy” restituisce un errore 502 o errori di connessione.

Perché non è necessario il port forwarding sul router

Il connettore crea una connessione in uscita da CasaOS a Cloudflare. Le richieste in ingresso del browser arrivano a Cloudflare e tornano attraverso quel tunnel già stabilito. Ecco perché Cloudflare Tunnel può pubblicare un servizio anche quando sul router non è configurato alcun port forwarding in ingresso.

Proteggi i servizi sensibili con Cloudflare Access

Un tunnel è un mezzo di trasporto, non una policy di autenticazione. Se pubblichi una dashboard, un terminale, un gestore di password o un’interfaccia di amministrazione tramite un hostname pubblico, aggiungi una policy di identità con Cloudflare Access o un altro livello di autenticazione appropriato.

Mantieni attiva anche l’autenticazione dell’applicazione. Cloudflare Access e l’autenticazione dell’applicazione proteggono confini diversi.

Ruota i token quando la gestione della distribuzione passa di mano

Se un server viene venduto, ricostruito o trasferito a un altro amministratore, revoca o ruota le vecchie credenziali del tunnel. I volumi Docker persistenti possono conservare la configurazione più a lungo del previsto, quindi il ciclo di vita delle credenziali deve essere gestito intenzionalmente.

Domande frequenti su Cloudflare Tunnel su CasaOS

Cloudflare Tunnel richiede il port forwarding?

No. Il connettore stabilisce una connessione in uscita verso Cloudflare.

Cosa usava il tutorial originale di CasaOS per la configurazione?

Un’app Cloudflared con una piccola interfaccia web in cui l’utente ha incollato il token del tunnel gestito da remoto.

È sicuro mostrare il token del connettore in uno screenshot di un tutorial?

No. Considera un token reale come un segreto e ruotalo se è stato esposto.

“Healthy” significa che la mia applicazione è già raggiungibile?

Non necessariamente. “Healthy” conferma che il connettore è online; la route di origine e l’applicazione devono comunque essere configurate correttamente.