Programmazione · Server · Reti
Cos'è un reverse proxy?
Appena esegui più di un'applicazione su un server — un sito, un'API, magari qualche container — ti scontri con un problema pratico: i visitatori arrivano tutti sulle porte 80 e 443, ma ogni applicazione ascolta altrove. Un reverse proxy è la risposta standard. Questa guida spiega cos'è un reverse proxy, in cosa differisce dal proxy che forse già conosci e perché quasi ogni ambiente di produzione ne ha uno.
La definizione breve
Un reverse proxy è un server che si trova davanti a uno o più server backend, riceve ogni richiesta in entrata del client e la inoltra al backend appropriato, per poi restituire la risposta di quel backend al client. Per il visitatore, il reverse proxy è il sito: parla solo con lui e non vede mai i server dietro. La parola «reverse» (inverso) conta, e la sezione successiva spiega perché.
Reverse proxy vs proxy diretto
Un proxy normale (forward) si trova davanti ai client. Quando il tuo browser è configurato per usarne uno, le tue richieste escono attraverso il proxy a tuo nome: agisce per chi fa le richieste. Un reverse proxy è l'immagine speculare: si trova davanti ai server e agisce per loro conto. I client si collegano a lui credendo che sia il server reale, ed è lui a decidere quale backend gestisce davvero ogni richiesta. Stessa idea di intermediario, lato opposto della conversazione.

A cosa serve davvero un reverse proxy
- Routing per hostname o percorso: inviare
api.example.comalla tua API eexample.comal tuo sito, anche se entrambi girano sulla stessa macchina. - Terminazione TLS: gestire i certificati HTTPS in un solo posto, così ogni backend parla HTTP semplice internamente e tu gestisci i certificati una volta sola.
- Cache: memorizzare e servire direttamente le risposte frequenti, per non sollecitare il backend a ogni richiesta.
- Buffer e protezione: assorbire i client lenti, applicare limiti e nascondere gli indirizzi reali dei backend dietro un unico punto d'ingresso pubblico.
In pratica routing e TLS bastano già a giustificarlo: ti permettono di ospitare diverse applicazioni in modo pulito su un solo VPS, in HTTPS, dietro un unico indirizzo.
Reverse proxy vs load balancer
Questi concetti si sovrappongono, da qui la confusione. Un load balancer (bilanciatore di carico) ha un compito preciso: distribuire il traffico in entrata su più backend identici perché nessuno venga sovraccaricato. Un reverse proxy è il concetto più ampio — inoltra le richieste e può fare molte cose (routing, TLS, cache), e distribuire il carico tra i backend è una di queste. Quindi un load balancer è in sostanza un reverse proxy concentrato sul compito di bilanciamento. La maggior parte dei reverse proxy moderni sa anche bilanciare il carico, mentre un load balancer dedicato a volte non fa molto altro.
Gli strumenti comuni
I reverse proxy più usati sono Nginx, Caddy, HAProxy e Traefik. Nginx è il riferimento storico ed è estremamente veloce nel servire e fare da proxy. Caddy è apprezzato perché ottiene e rinnova i certificati HTTPS automaticamente, quasi senza configurazione. Traefik è pensato per ambienti a container e Kubernetes, dove scopre i servizi man mano che compaiono e scompaiono. HAProxy è preferito quando il bilanciamento di carico ad alto volume è la priorità. I provider cloud offrono anche reverse proxy e load balancer gestiti come servizio.
Un esempio minimo
Una configurazione di reverse proxy è soprattutto un breve elenco di regole. In Nginx, inviare le richieste di un host a un'app che gira in locale sulla porta 3000 appare così:
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
}
} Questa è tutta l'idea: le richieste per example.com arrivano a Nginx sulla porta 80, e Nginx le inoltra alla tua app sulla porta 3000, passando l'host originale. Aggiungi un blocco TLS e un secondo server per la tua API, e una sola macchina serve in modo pulito più applicazioni via HTTPS.
I compromessi onesti
Un reverse proxy aggiunge un pezzo in movimento in più. Diventa il punto unico attraverso cui passa ogni richiesta, quindi se cade tutto ciò che sta dietro diventa irraggiungibile — ecco perché in produzione lo si esegue in modo affidabile e a volte in coppia. Aggiunge anche un po' di latenza e un altro file di configurazione da capire. Per una sola piccola app che già ascolta sulla porta 443, potresti non averne bisogno. Ma appena ospiti più di un servizio, vuoi gestire l'HTTPS in un solo posto o pensi di scalare, un reverse proxy si ripaga in fretta.
Domande frequenti
Cos'è un reverse proxy in parole semplici?
Un reverse proxy è un server che si pone davanti ai tuoi server reali. Ogni visitatore si collega a lui invece di parlare direttamente con le tue app, e lui inoltra ogni richiesta al backend giusto, poi ne restituisce la risposta. Per il visitatore sembra il sito stesso, mentre i server reali restano nascosti dietro.
Qual è la differenza tra un reverse proxy e un proxy diretto?
Un proxy diretto si pone davanti ai client e fa le richieste a loro nome: rappresenta chi naviga. Un reverse proxy si pone davanti ai server e li rappresenta: i client si collegano a lui come se fosse il server reale, e lui sceglie quale backend gestisce ogni richiesta. Stessa idea di intermediario, ma alle estremità opposte della connessione.
Un reverse proxy è la stessa cosa di un load balancer?
Non esattamente. Un load balancer distribuisce il traffico su più backend identici per condividere il carico. Un reverse proxy è il concetto più ampio che inoltra le richieste e può anche fare routing, TLS e cache, e il bilanciamento del carico è una di queste cose. Quindi un load balancer è in pratica un reverse proxy concentrato sul compito di bilanciamento.
Mi serve un reverse proxy?
Ti serve appena ospiti più di un'app su un server, vuoi gestire l'HTTPS in un solo posto o pensi di scalare su più backend. Per una sola piccola app che già serve HTTPS sulla propria porta, puoi farne a meno. Appena entrano in gioco routing, certificati o più servizi, un reverse proxy rende il tutto molto più pulito.
Un server su cui far girare il tuo reverse proxy
Far girare Nginx o Caddy come reverse proxy davanti alle tue app richiede un vero server Linux con controllo totale — un VPS o un server cloud su cui possiedi le porte 80 e 443. Infomaniak — provider svizzero rispettoso della privacy — offre VPS e server cloud su cui puoi installare un reverse proxy e instradare il traffico verso tutti i backend che vuoi.
Scopri Infomaniak Cloud →Link di affiliazione — sostiene queste guide gratuite.
Sfoglia altre spiegazioni chiare nel nostro indice delle guide.