hosting
Cos'è un reverse proxy? In parole semplici
Un reverse proxy è la porta d’ingresso che riceve il traffico web e lo manda all’app giusta dietro le quinte.
Quando si gestiscono più siti web o applicazioni sullo stesso server, la semplice domanda “dove deve essere instradata questa richiesta?” rischia di trasformarsi in una fonte di criticità.
In sintesi: un reverse proxy funge da reception per il tuo server. Riceve il traffico in entrata da Internet, verifica l'host header o il nome di dominio richiesto e inoltra la connessione all'applicazione o al servizio corretto in esecuzione in background. Soluzioni come Nginx, Caddy e Traefik vengono impiegate comunemente come reverse proxy, in particolare per gestire architetture multi-progetto, terminazione HTTPS e instradamento dei domini su un'unica risorsa.
Cosa fa davvero un reverse proxy?
Un reverse proxy si interpone tra Internet e le tue applicazioni interne.
Immagina il server come un centro direzionale: l'edificio ha un unico indirizzo civico, ma ospita al suo interno diversi uffici. Un ufficio può essere dedicato al blog, un altro a una dashboard amministrativa e un altro ancora a un servizio cloud privato.
Senza un servizio di accoglienza, i visitatori dovrebbero conoscere esattamente il numero di interno o la porta specifica a cui rivolgersi. Questo approccio è poco pratico e rischioso. Il reverse proxy agisce come la reception dell'edificio: individua la richiesta diretta a blog.example.com e la indirizza all'ufficio del blog; rileva la richiesta per app.example.com e la smista verso la dashboard.
L'utente finale non deve conoscere l'architettura interna della rete, poiché interagisce unicamente con un URL standard. Spetta al reverse proxy gestire l'instradamento interno.
In sintesi, il reverse proxy risponde a questa domanda: "Considerando il dominio con cui è arrivata questa richiesta, quale applicazione deve gestirla?"
In cosa è diverso un reverse proxy da un proxy normale?
Il termine "proxy" indica un intermediario che agisce per conto di un altro soggetto. La differenza fondamentale risiede nella direzione del traffico.
Un proxy tradizionale (o forward proxy) agisce per conto del client che naviga in rete. Un reverse proxy opera invece per conto delle applicazioni e dei servizi ospitati sul server.
| Tipo | Chi protegge o rappresenta | Metafora |
|---|---|---|
| Forward Proxy | L’utente che naviga su Internet | Un assistente personale che inoltra chiamate per conto tuo |
| Reverse Proxy | Le applicazioni che ricevono traffico da Internet | Un receptionist che indirizza i visitatori all'interno corretto |
Mentre un forward proxy gestisce o maschera il traffico in uscita del browser, un reverse proxy organizza, filtra e smista il traffico in entrata verso il server prima che raggiunga le applicazioni sottostanti.
Questa distinzione è sostanziale, poiché la maggior parte delle problematiche di hosting riguarda proprio il traffico in entrata: configurazione dei domini, certificati HTTPS, gestione delle porte, reindirizzamenti ed errori di connessione come il 502 Bad Gateway.
Perché siti e app hanno bisogno di un reverse proxy?
L'adozione di un reverse proxy diventa fondamentale quando un server deve erogare più servizi contemporaneamente.
Ad esempio, nello stesso server potrebbero coesistere un’istanza WordPress, un’applicazione Node.js e un servizio Nextcloud, ciascuno associato a un proprio dominio e protetto da crittografia HTTPS, pur rimanendo in ascolto su porte interne differenti.
Il reverse proxy centralizza questa gestione: instrada le richieste per example.com a un determinato servizio e quelle per files.example.com a un altro, evitando agli utenti di dover inserire porte specifiche nell'URL.
Un altro vantaggio cruciale riguarda la gestione della crittografia HTTPS: il reverse proxy si occupa del processo di SSL Offloading, cifrando la connessione pubblica prima di trasmettere il traffico (in modo sicuro) all'applicazione interna. Per approfondire la gestione delle connessioni sicure, consulta la guida su come ottenere HTTPS gratis sul tuo server.
Infine, semplifica l'hosting multi-sito: anziché permettere a ogni singola applicazione di competere per l'occupazione delle porte di rete pubbliche (80 e 443), il reverse proxy gestisce direttamente questi punti d'accesso e distribuisce il traffico ai vari servizi. Per approfondire questo modello, leggi la nostra guida su come ospitare più siti web su un unico server.
Cosa si rompe di solito con un reverse proxy?
I malfunzionamenti legati a un reverse proxy dipendono quasi sempre da errori di configurazione ben precisi.
L'errore 502 Bad Gateway indica generalmente che il reverse proxy ha preso in carico la richiesta del client, ma non è riuscito a comunicare con l'applicazione backend. La "reception" è operativa, ma il servizio interno è spento, inaccessibile o configurato su una porta diversa da quella attesa.
L'errore 404 Not Found segnala che la richiesta è stata ricevuta, ma non è stata trovata la risorsa corrispondente, spesso a causa di un puntamento a un percorso o a un servizio errato.
Gli errori HTTPS derivano solitamente da incongruenze tra il nome di dominio richiesto e il certificato SSL installato. Il browser rileva che il certificato presentato non corrisponde al dominio, è scaduto oppure non è presente.
I loop di reindirizzamento (redirect loop) si verificano quando la configurazione genera un ciclo infinito di reindirizzamenti tra HTTP e HTTPS o tra diversi URL, impedendo al browser di caricare la pagina.
In presenza di queste anomalie, l'analisi dei log rappresenta lo strumento più rapido per individuare a quale livello si interrompa il flusso di dati. Se hai dubbi sulla consultazione dei file di log, puoi fare riferimento alla guida su come leggere i log del server quando qualcosa si rompe.
FAQ
Nginx è un reverse proxy? Sì. Oltre a servire direttamente contenuti statici e siti web, Nginx viene ampiamente utilizzato come reverse proxy per smistare il traffico verso applicazioni backend.
Caddy è un reverse proxy? Sì. Caddy è un web server moderno impiegato di frequente come reverse proxy, particolarmente apprezzato per l'automazione nativa dei certificati HTTPS.
Un reverse proxy è equivalente a un load balancer? Non esattamente. Un load balancer si occupa principalmente di distribuire il carico di lavoro tra più server differenti. Un reverse proxy può svolgere funzioni di bilanciamento del carico, ma viene spesso utilizzato su un singolo server per instradare i domini verso i relativi servizi interni.
È necessario un reverse proxy per un singolo sito web? Non è strettamente indispensabile. Se il server ospita un solo progetto che gestisce direttamente il traffico sulle porte standard, la configurazione può rimanere lineare. Tuttavia, l'aggiunta di ulteriori applicazioni, sottodomini o regole HTTPS rende l'adozione di un reverse proxy la scelta raccomandata.
La scorciatoia
Server Manager semplifica l'architettura di rete mantenendo l'instradamento trasparente e organizzato. Invece di dover gestire manualmente complesse regole di routing nei file di configurazione, la piattaforma offre una visione chiara delle associazioni tra domini, certificati e applicazioni sottostanti.
Questo approccio previene i problemi più comuni, come il puntamento scorretto di un dominio, errori nella convalida HTTPS o l'insorgere di 502 Bad Gateway a seguito del riavvio o dello spostamento di un servizio. Il valore principale consiste nel garantire la manutenibilità dell'infrastruttura nel tempo: anche a distanza di mesi, ogni modifica o aggiornamento risulta semplice e privo di rischi.
L'intera configurazione rimane leggibile e strutturata, garantendo un controllo chiaro su ciascun progetto ospitato.
Cosa cambia quando il traffico ha una porta chiara?
Un reverse proxy è uno strumento di gestione del traffico di rete.
Comprenderne la logica permette di affrontare la gestione dei server in modo sistematico. Il dominio indirizza la richiesta al server, il reverse proxy la intercetta e la smista verso l'applicazione corretta.
Questo modello semplifica il processo di diagnosi: di fronte a un'anomalia, anziché considerare il sistema genericamente "inaccessibile", è possibile verificare se la richiesta ha raggiunto il reverse proxy, se la regola di instradamento è corretta e se il servizio backend è attivo e in ascolto. Il risultato è un'infrastruttura stabile, ordinata e facile da gestire.