Premessa importante: questa scheda formativa non ha l’ambizione (né lo scopo) di approfondire in dettaglio gli aspetti tecnico/funzionali del servizio proxy e reverse proxy, ma solo quella di fornire a chi sia completamente a digiuno del tema un’infarinatura di massima atta a comprendere a cosa servano tali servizi in determinati contesti. Per tale comprensione è comunque richiesta una conoscenza di base sul funzionamento della rete LAN e Internet. |
Solitamente, quando ci si collega ad Internet attraverso la propria LAN (usando il Wi-Fi o la rete cablata) i client (ovvero i vari smartphone, tablet, computer eccetera) si collegano direttamente al “gateway” di rete (solitamente il modem/router) il quale provvede a instradare le richieste verso la rete WAN Internet e ricevere indietro i dati in risposta, inoltrandoli infine ai client richiedenti.
Talvolta – per i motivi più disparati – è possibile introdurre sulla rete locale un server “Proxy”, ovvero uno “strato intermedio” tra i client e il gateway, tale da mediare queste comunicazioni per eventualmente filtrarle, ridurne il volume di traffico, effettuare caching ed altro. Pensiamo per esempio a un “filtro” necessario per tutelare i minori dall’accesso a determinati servizi e contenuti: esistono dei proxy che forniscono out-of-the-box precisamente questo tipo di servizi. Esistono inoltre proxy esterni alla rete LAN, collocati su Internet: in pratica ci si collega ad essi per navigare parzialmente anonimizzati agli occhi degli host contattati su Internet (vedi per esempio servizio TOR) o per scopi di filtro analoghi a quelli sopracitati ed altro.
Il “Reverse Proxy” è la stessa cosa ma, come suggerisce il nome, alla rovescia: in sostanza host presenti sulla rete Internet che vogliano accedere a servizi presenti sulla propria rete LAN contattano l’indirizzo pubblico del proprio modem/router, il quale gira tale traffico verso il reverse proxy interno, il quale a sua volta “sa” (perché configurato) quali richieste girare e a quale host interno alla rete LAN.
Perché è utile
Utilizzare un reverse proxy sulla LAN domestica semplicemente per instradare richieste esterne verso uno o più host presenti al suo interno ha poco senso. Per lo più, questo si ottiene utilizzando la banale tecnica del port forwarding, la quale, configurata presso il modem/router, la quale consente di ruotare automaticamente le richieste effettuate dall’esterno sull’indirizzo pubblico e su una data porta verso uno specifico host interno e relativa porta.
Questo è ciò che si fa tipicamente quando per esempio si configura l’accesso esterno verso servizi interni in esecuzione su NAS o su micro-computer come Raspberry Pi o altro: si imposta un indirizzo IP fisso all’host interno, si “scopre” quale sia la porta esposta dal servizio d’interesse e si configura una regola di port forwarding tale da girare le richieste estere a tale binomio indirizzo:porta.
Il reverse proxy fa più o meno la stessa cosa, ma in modo molto più strutturato e configurabile.
Tale servizio consente, per esempio:
- di indirizzare più richieste esterne in modi diversi:
- http://miodominio verso l’indirizzo interno 10.0.0.1 e http://miodominio/test verso 10.0.0.2
- http://miodominio verso l’indirizzo interno 10.0.0.1 su porta 80 e http://miodominio/test verso 10.0.0.1 su porta 81
- http://miodominio:80 verso l’indirizzo interno http://10.0.0.1 su porta 80 e http://miodominio:8123 sempre verso http://10.0.0.1 su porta 80
- https://miodominio:443 verso http://10.0.0.1 su porta 80
- in alcuni casi, provvedere all’ottenimento automatico di certificati crittografici per la comunicazione sicura (eg. certificati per l’uso SSL per la connessione a interfacce web come quelle degli HUB personali)
e altro.

Chi lo usa
Solitamente, utenti mediamente preparati che abbiano necessità specifiche in termini di configurazione dei servizi esposti verso la rete Internet. Non solo: per i motivi sopra descritti, reverse proxy è un ottimo alleato (configurato in modo semplice) di tutti coloro che vogliano non solo esporre i propri HUB personali alla rete Internet (per controllare remotamente la propria domotica) in modo il più possibile sicuro grazie all’utilizzo di certificati crittografici. A prescindere che il servizio reverse proxy provveda o meno all’ottenimento dei certificati (l’utente potrebbe infatti averne di propri), è particolarmente comodo lasciare al servizio la gestione dell’SSL per il web (https) per gli eventuali web server interni alla rete non configurati con SSL (quarto esempio nella breve lista sopra).
Quali usare
Reverse proxy ne esistono moltissimi; tra i più noti e liberamente utilizzabili conosciamo NGINIX, Caddy e molti altri. Per lo più, si tratta di software Open Source liberamente installabili sui propri sistemi, i quali annoverano NAS, Raspberry Pi, sistemi Docker, computer ordinari e altro: in pratica, gli stessi sistemi su cui, magari, sono in esecuzione i servizi stessi che il reverse proxy andrà ad esporre verso Internet.
Questa pagina è redatta, manutenuta e aggiornata dallo staff di inDomus, un gruppo di persone molto diverse tra loro che trovi, per domande e supporto, sul forum e sulla chat del sito. Se ti sei perso, a tua disposizione c'è la mappa. |