September 26, 2025Sep 26 Ciao a tutti,scrivo una guida su come poter avere l'HTTPS per le proprie app ma accessibili solo in locale o con Tailscale.Se non avete un dominio utilizzate la mia altra guida :) Questa quà :)Passo 1: Spostare l’interfaccia GUI di Unraid su una nuova portaPrima di andare troppo avanti, dobbiamo liberare le porte 80 e 443 (HTTP e HTTPS) per il nostro reverse proxy.Per impostazione predefinita, Unraid utilizza queste porte per la GUI al fine di consentire il monitoraggio/configurazione remota.La maggior parte della documentazione e delle guide presuppone che tu stia esponendo le porte sul tuo router e che il router possa inoltrare il traffico delle porte 80 e 443 a qualunque porta stia usando Nginx Proxy Manager (NPM).Con questa guida, invece, tutto il traffico http/https bypassa il router e va direttamente sulle porte 80 e 443, quindi dobbiamo modificarne la configurazione e mettere Nginx Proxy Manager al loro posto.Accedi alla GUI di Unraid.Vai su Settings > Management Access.Assicurati che Use SSH sia abilitato e che la porta sia impostata su 22.Questo sarà il nostro accesso di riserva al server nel caso in cui qualcosa vada storto e non sia più possibile accedere alla GUI.Di solito è già attivo di default.Cambia la porta HTTP: da 80 a qualcos’altro, ad esempio 90 o 11080.Scrivi da qualche parte questa modifica! Se dimentichi il numero, non potrai più accedere alla web GUI di Unraid.Assicurati che questa porta non sia in conflitto con quelle utilizzate dai tuoi container Docker.Cambia la porta HTTPS: da 443 a qualcos’altro, ad esempio 453 o 11443.Annota anche questa modifica!Assicurati che non vada in conflitto con quelle utilizzate dai container Docker.Dopo qualche secondo dovresti essere disconnesso dalla GUI di Unraid.Riconnettiti usando la nuova porta digitando:X.X.X.X:[Numero Porta]X.X.X.X = l’indirizzo IP del tuo server Unraid[Numero Porta] = il numero di porta che hai assegnato a HTTP nel passo 4.Congratulazioni! Ora possiamo installare Nginx Proxy Manager per controllare il traffico in arrivo.Passo 2: Nginx Proxy Manager in funzioneOra useremo Nginx Proxy Manager (abbreviato in NPM) per gestire tutto il traffico in entrata e instradarlo dove necessario.Lo utilizziamo per centralizzare l’instradamento del traffico e ottenere i certificati SSL per abilitare l’HTTPS.Nella GUI di Unraid, vai su Apps e cerca Nginx Proxy Manager.Trova quello chiamato "NginxProxyManager" di "Djoss's Repository".Clicca sull’app, quindi su Install.Imposta:HTTP Port: su 80HTTPS Port: su 443Controlla bene che la Web UI Port non vada in conflitto con nessuno dei tuoi altri container Docker.Puoi cambiarla se vuoi, ma ricordati il numero per poterci accedere in seguito.Se stai usando reti Docker personalizzate, imposta la variabile Network Type di conseguenza.Clicca su Done e attendi che Docker scarichi tutto e avvii il container.Avvia l’interfaccia web GUI di NPM.Accedi a NPM usando le credenziali di default:Email: [email protected]Password: changemeCambia l’email e la password dell’amministratore con qualcosa di nuovo e univoco.Congratulazioni, Nginx Proxy Manager è ora configurato e in esecuzione sul tuo server Unraid ed è pronto per essere utilizzato.Passo 3: Risoluzione con Dominio PersonalizzatoNOTA: Questi passaggi sono volutamente generici, perché ogni provider DNS è diverso. Dovrai adattarli al tuo caso. In linea generale, si tratta di aggiungere un record A al tuo dominio e puntarlo all’indirizzo IP Tailscale del tuo server Unraid.Accedi al tuo provider DNS.Di solito è lo stesso servizio da cui hai acquistato il dominio (GoDaddy, NameCheap, Google Domains, ecc.).Vai alla pagina che ti permette di modificare i record del dominio che vuoi usare.Crea un nuovo record A:Hostname = @IP Address = l’indirizzo IPv4 Tailscale del server UnraidAttendi la propagazione del record DNS agli altri server.Può richiedere fino a 48 ore.Nella mia esperienza i cambiamenti avvengono abbastanza velocemente (~5 minuti).Testa l’instradamento digitando il tuo dominio (es. example.com) su un dispositivo connesso alla tua rete interna.Dovresti vedere la pagina iniziale di NPM.Se ti disconnetti e ricarichi la pagina, la pagina di NPM non dovrebbe più caricarsi.Per ogni servizio che vuoi ospitare, crea un nuovo record CNAME:Hostname = il nome che vuoi dare al servizioEsempio: nextcloud.example.comValue = il tuo dominio (es. example.com)Attendi la propagazione dei cambiamenti DNS (vedi nota al passo 5).Apri la GUI di NPM.Vai su Hosts > Proxy Hosts.Clicca su Add Proxy Host (in alto a destra).Compila la finestra di dialogo con queste informazioni:Domain Names = il dominio completo che vuoi assegnare al servizioPremi Tab o Invio dopo aver scritto: se non lo fai, il testo scomparirà e causerà un errore.Scheme = se il servizio accetta traffico http o https sulla porta indicataForward Hostname/IP = l’IP Tailscale del servizio (di solito il tuo server Unraid)Forward Port = la porta su cui gira il servizioLa trovi nei container Docker della GUI di UnraidCache Assets = scegli se vuoi che NPM faccia caching degli asset del servizioBlock Common Exploits = attivo (a volte può dare problemi, ma di default conviene tenerlo attivo)Websockets Support = attivalo se il servizio richiede websocketAccess List = Publicly AccessibleTesta il dominio personalizzato digitandolo nel browser: dovresti essere indirizzato al tuo servizio.Ripeti i passaggi 6–13 per ogni servizio che stai ospitando.Congratulazioni, ora i tuoi servizi sono accessibili tramite domini personalizzati all’interno della tua rete Tailscale.Passo 4: SSL e HTTPSIl metodo standard per configurare i certificati SSL di Let’s Encrypt prevede che il server remoto validi la tua proprietà del dominio cercando un file ospitato sul tuo server. Ovviamente questo non funziona quanto il reindirizzamento del dominio punta ad un ip locale.Invece, useremo una sfida DNS (DNS challenge) per autenticare la proprietà del dominio.In pratica, invece di caricare un file sul server, aggiungeremo un record DNS contenente una stringa di testo fornita da Let’s Encrypt.Poiché quella stringa non era presente prima e lo è dopo la richiesta, Let’s Encrypt deduce che siamo noi ad averla aggiunta e quindi proprietari del dominio.Procedura in NPM:Apri NPM e vai su SSL Certificates.Clicca su Add SSL Certificate e poi su Let's Encrypt..Inserisci le informazioni nei campi:Domain Names = il dominio completo, con eventuali sottodominiEsempio: cloud.example.comEmail Address for Let’s Encrypt = un indirizzo email reale che Let’s Encrypt possa contattareTi avviseranno via mail in caso di problemi, quindi deve essere monitorato.Use a DNS Challenge = attivaDNS Provider = il tuo provider DNSCredentials File Content = simile a quando modifichi record DNS o apri porte sul router: ci sono molte variabili. Consulta la documentazione del tuo provider DNS e il testo mostrato nella finestra.Propagation Seconds = puoi lasciare vuotoAccetta i Termini e Condizioni di Let’s Encrypt.Clicca su Save.Attendi che il sistema processi la richiesta.Può richiedere qualche minuto, abbi pazienza.Il tuo certificato dovrebbe ora comparire nell’elenco.Vai su Hosts > Proxy Hosts.Seleziona il dominio associato e clicca sul menu a tre puntini, poi su Edit.Clicca su SSL in alto nella finestra di dialogo.Seleziona il certificato SSL creato per quel dominio dal menu a tendina.Ripeti i passaggi 1–11 per ogni sottodominio che stai usando.A questo punto, i tuoi servizi sono protetti da SSL e raggiungibili tramite HTTPS.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.