Cos'è un proxy inverso? | Server proxy

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.

Obiettivi di apprendimento

Dopo aver letto questo articolo sarai in grado di:

  • Definire un server proxy
  • Descrivere le differenze tra un proxy di inoltro e un reverse proxy
  • Descrivere i vantaggi dell'utilizzo di un reverse proxy

Argomenti correlati


Vuoi saperne di più?

Abbonati a theNET, il riepilogo mensile di Cloudflare sulle tematiche più discusse in Internet.

Fai riferimento all'Informativa sulla privacy di Cloudflare per scoprire come raccogliamo ed elaboriamo i tuoi dati personali.

Copia link dell'articolo

Cos'è un proxy inverso?

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.

Report
2024 IDC Marketscape for Edge Delivery Services

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:

  • A: il computer domestico di un utente
  • B: un server proxy di inoltro
  • C: il server di origine di un sito Web (dove sono archiviati i dati del sito Web)
Flusso del proxy di inoltro: flussi di traffico dal dispositivo dell'utente (A) al proxy di inoltro (B) a Internet al server di origine (C)

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.

CDN ultraveloce
Migliora le prestazioni con la CDN di Cloudflare

Perché aggiungere questo ulteriore intermediario alle proprie attività su Internet? I proxy di inoltro possono essere utilizzati per vari motivi:

  • Per evitare restrizioni di navigazione statali o istituzionali: alcuni governi, scuole e altre organizzazioni utilizzano firewall per fornire ai propri utenti l'accesso a una versione limitata di Internet. Un proxy di inoltro può essere utilizzato per aggirare queste restrizioni, poiché consentono di connettersi al proxy anziché direttamente ai siti visitati.
  • Per bloccare l'accesso a determinati contenuti: al contrario, tali proxy possono essere utilizzati anche per impedire a un gruppo di utenti di accedere a determinati siti. Ad esempio, una rete scolastica potrebbe essere configurata per connettersi al Web tramite un proxy che abilita regole di filtraggio dei contenuti, rifiutandosi di inoltrare risposte da Facebook e altri siti di social media.
  • Per proteggere la propria identità online: in alcuni casi, i comuni utenti di Internet desiderano semplicemente un maggiore anonimato online; in altri casi, invece, vivono in luoghi in cui i governi possono imporre gravi sanzioni ai dissidenti politici. Criticare il governo su un forum Web o sui social media può comportare sanzioni o persino la reclusione per tali utenti. Se uno di questi dissidenti utilizza un proxy di inoltro per connettersi a un sito Web in cui pubblica commenti politicamente sensibili, l'indirizzo IP associato ai commenti sarà più difficile da ricondurre al dissidente. Sarà visibile solo l'indirizzo IP del server proxy.

In cosa differisce un reverse proxy?

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:

  • D: qualsiasi numero di computer domestici degli utenti
  • E: un server del reverse proxy
  • F: uno o più server di origine
Flusso del reverse proxy: il traffico scorre dal dispositivo dell'utente (D) a Internet al reverse proxy (E) al server di origine (F)

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:

  • Bilanciamento del carico: un sito Web popolare visitato ogni giorno da milioni di utenti potrebbe non essere in grado di gestire tutto il traffico del sito in entrata con un unico server di origine. Tuttavia, il sito può essere distribuito tra un pool di server diversi, in cui ogni server gestisce le richieste per lo stesso sito. In questo caso, un reverse proxy può fornire una soluzione di bilanciamento del carico che distribuirà il traffico in entrata in modo uniforme tra i diversi server per evitare il sovraccarico di un singolo server. Nel caso in cui un server si guasti completamente, altri server possono intervenire per gestire il traffico.
  • Protezione dagli attacchi: in presenza di un reverse proxy, un sito Web o un servizio non ha mai bisogno di rivelare l'indirizzo IP del proprio server di origine. Di conseguenza, è molto più difficile per gli autori di attacchi sfruttare un attacco mirato contro di loro, ad esempio un attacco DDoS. Gli autori di attacchi saranno invece in grado di prendere di mira solo il reverse proxy, come la CDN di Cloudflare, che è dotata di una sicurezza più solida e un numero maggiore di risorse per respingere un attacco informatico.
  • Bilanciamento del carico del server globale (GSLB, Global Server Load Balancing): in questa forma di bilanciamento del carico, un sito Web può essere distribuito su diversi server in tutto il mondo e il reverse proxy invierà i client al server geograficamente più vicino a loro. In questo modo, si riducono le distanze che le richieste e le risposte devono percorrere, riducendo al minimo i tempi di caricamento.
  • Caching: un reverse proxy può anche memorizzare nella cache i contenuti, con conseguente miglioramento delle prestazioni. Ad esempio, se un utente a Parigi visita un sito Web con reverse proxy con server Web a Los Angeles, l'utente potrebbe effettivamente connettersi a un server del reverse proxy locale a Parigi, che dovrà quindi comunicare con un server di origine a Los Angeles. Il server proxy può quindi memorizzare nella cache (o salvare temporaneamente) i dati di risposta. Gli utenti parigini successivi che navigheranno nel sito riceveranno quindi la versione memorizzata nella cache locale dal server del reverse proxy parigino, con prestazioni molto più veloci.
  • Crittografia SSL: la crittografia e la decrittografia delle comunicazioni SSL (o TLS) per ciascun client può essere costosa dal punto di vista computazionale per un server di origine. Un reverse proxy può essere configurato per decrittografare tutte le richieste in entrata e crittografare tutte le risposte in uscita, liberando preziose risorse sul server di origine.

Come implementare 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.

DOMANDE FREQUENTI

Qual è la funzione principale di un reverse proxy?

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.

In cosa differisce un reverse proxy da un forward proxy?

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]

In che modo un reverse proxy può contribuire al bilanciamento del carico?

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.

In che modo un reverse proxy può migliorare la sicurezza di un sito Web?

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.

In che modo un reverse proxy migliora le prestazioni attraverso il caching?

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.

Cos'è il bilanciamento del carico del server globale (GSLB) nel contesto dei reverse proxy?

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.

Qual è il vantaggio di utilizzare un reverse proxy per la crittografia SSL?

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à.