Un proxy inverso protegge i server Web dagli attacchi e può fornire vantaggi in termini di prestazioni e affidabilità. Scopri di più sui proxy forward e inversi.
Dopo aver letto questo articolo sarai in grado di:
Argomenti correlati
Cos'è un datacenter CDN?
Cos'è Anycast?
Cos'è un server di origine?
Controllo cache
Sicurezza TLS SSL delle CDN
Abbonati a theNET, il riepilogo mensile di Cloudflare sulle tematiche più discusse in Internet.
Copia link dell'articolo
Un reverse proxy è un server che si trova di fronte ai server Web e inoltra le richieste del client (ad esempio, browser Web) a tali server Web. I reverse proxy vengono in genere implementati per aumentare la sicurezza, le prestazioni e l'affidabilità. Per capire meglio come funziona un reverse proxy e i vantaggi che può offrire, definiamo innanzitutto cos'è un server proxy.
Un proxy di inoltro, spesso chiamato proxy, server proxy o proxy Web, è un server che si posiziona di fronte a un gruppo di macchine client. Quando tali computer effettuano richieste a siti e servizi su Internet, il server proxy intercetta tali richieste e quindi comunica con i server Web per conto di tali client, come un intermediario.
Facciamo l'esempio di tre computer coinvolti in una tipica comunicazione di proxy di inoltro:
In una comunicazione Internet standard, il computer A raggiunge direttamente il computer C, con il client che invia richieste al server di origine e il server di origine che risponde al client. Quando è attivo un proxy di inoltro, A invierà le richieste a B, che inoltrerà la richiesta a C. C invierà quindi una risposta a B, che inoltrerà la risposta ad A.
Perché aggiungere questo ulteriore intermediario alle proprie attività su Internet? I proxy di inoltro possono essere utilizzati per vari motivi:
Un reverse proxy è un server che si posiziona di fronte a uno o più server Web per intercettare le richieste dal client. Differisce da un proxy di inoltro perché quest'ultimo si posiziona di fronte ai client. Con un reverse proxy, quando il client invia richieste al server di origine di un sito Web, tali richieste vengono intercettate al livello del perimetro di rete dal server del reverse proxy. Il server del reverse proxy invia quindi richieste e riceve le risposte dal server di origine.
La differenza tra un proxy di inoltro e un reverse proxy è sottile ma importante. In parole povere, un proxy di inoltro si posiziona di fronte a un client e garantisce che nessun server di origine comunichi direttamente con quel client specifico, in alcun caso. Un reverse proxy, invece, si posiziona di fronte a un server di origine e garantisce che nessun client comunichi direttamente con quel server di origine, in alcun caso.
Anche in questo caso, possiamo proporre un esempio con alcuni computer coinvolti:
In genere tutte le richieste provenienti da D vengono indirizzate direttamente a F e F invia le risposte direttamente a D. Con un reverse proxy, tutte le richieste provenienti da D vengono indirizzate direttamente a E ed E invierà le sue richieste a F e riceverà le risposte sempre da F. E trasmetterà quindi le risposte appropriate a D.
Di seguito descriviamo alcuni dei vantaggi di un reverse proxy:
Alcune aziende creano il proprio reverse proxy, ma questo richiede numerose risorse di ingegneria software e hardware, nonché un investimento significativo in hardware fisico. Uno dei modi più semplici e convenienti da un punto di vista economico per sfruttare tutti i vantaggi di un reverse proxy è registrarsi a un servizio CDN. Ad esempio, la CDN di Cloudflare fornisce tutte le prestazioni e le funzionalità di sicurezza sopra elencate, oltre a molte altre.
Un reverse proxy è un server che si interpone tra uno o più server Web per intercettare e inoltrare le richieste dei client. Agisce da intermediario, garantendo che nessun client comunichi direttamente con il server di origine.
Un forward proxy (o proxy di inoltro) si interpone tra i client (utenti) e Internet per inoltrare le loro richieste. Al contrario, un reverse proxy si interpone tra i server e la rete per gestire il traffico in entrata proveniente da Internet.
[Immagine che confronta l’architettura di un forward proxy e di un reverse proxy]Per i siti Web con traffico elevato, un reverse proxy può fungere da bilanciatore di carico distribuendo le richieste in arrivo in modo uniforme su un pool di diversi server di origine. Ciò impedisce il sovraccarico di un singolo server e garantisce che il sito rimanga disponibile anche in caso di guasto di un server.
Utilizzando un reverse proxy, un sito Web non deve mai rivelare l'indirizzo IP effettivo dei suoi server di origine. Ciò rende significativamente più difficile per gli aggressori lanciare attacchi mirati, come gli attacchi DDoS, contro l'origine. Invece, il proxy gestisce il traffico e può utilizzare le sue risorse specializzate per respingere le minacce informatiche.
Un reverse proxy può memorizzare nella cache, o salvare temporaneamente, copie del contenuto del sito Web in posizioni più vicine agli utenti. Ad esempio, se un utente a Chicago accede a un sito ospitato a Londra, un reverse proxy locale a Chicago può archiviare i dati. I futuri visitatori provenienti dalla stessa area potranno quindi ricevere i contenuti direttamente da quel proxy locale, riducendo notevolmente i tempi di caricamento.
Il GSLB è un'ottimizzazione delle prestazioni in cui un reverse proxy indirizza gli utenti al server Web specifico geograficamente più vicino a loro. Riducendo al minimo la distanza fisica che i dati devono percorrere tra il client e il server, il proxy riduce la latenza e velocizza l'esperienza utente.
Crittografare e decrittografare le comunicazioni SSL/TLS può essere un compito gravoso per un server di origine. Un reverse proxy può assumersi questa responsabilità gestendo la decrittografia delle richieste in entrata e la crittografia delle risposte in uscita. Questo processo libera preziosa potenza di elaborazione che il server di origine può dedicare ad altre attività.