Hosting web

CDN

Definizione

Una CDN (Content Delivery Network, rete per la distribuzione dei contenuti) è un insieme di server distribuiti nel mondo che conservano in cache copie dei file di un sito e le servono dal punto più vicino al visitatore. Riduce i tempi di caricamento e il carico del server di origine, e spesso filtra parte degli attacchi.

CDN, Hosting web

Un sito ospitato a Milano impiega più tempo a rispondere a un visitatore di New York o di Singapore che a uno di Torino: la distanza aggiunge latenza a ogni andata e ritorno. La CDN colloca server detti di bordo (edge) in molte città e affida loro copie dei file. Il visitatore viene indirizzato verso quello più vicino, quasi sempre grazie al DNS: il nome del sito punta alla rete della CDN e non più direttamente al tuo server.

Come funziona una CDN

La CDN si comporta come una cache condivisa posta tra i visitatori e il tuo server, che in questo caso si chiama origine. A ogni richiesta il server edge controlla se possiede una copia valida. Se sì, la restituisce senza contattare l’origine; altrimenti la richiede, la inoltra e la conserva per i visitatori successivi.

Schema del percorso di una richiesta attraverso una CDN. Il visitatore chiede un’immagine; il server edge più vicino la cerca nella sua cache. Se c’è (HIT), la restituisce subito. Altrimenti (MISS), la chiede al server di origine, che esegue WordPress o legge il file, poi ne conserva una copia per i visitatori successivi, per la durata fissata da Cache-Control.
La CDN risponde dalla sua cache quando può, e interpella il server di origine solo se il file manca o è scaduto.

La durata di conservazione segue gli header HTTP inviati dall’origine. La documentazione di MDN colloca le CDN tra le cache condivise, che memorizzano una sola risposta e la servono a molti utenti: Cache-Control: public, max-age=… autorizza questa memorizzazione, s-maxage fissa una durata specifica per le cache condivise, private e no-store la vietano. Cloudflare, per esempio, indica l’esito di ogni richiesta nell’header cf-cache-status: HIT (servito dalla cache), MISS (assente, richiesto all’origine), EXPIRED (copia scaduta), BYPASS o DYNAMIC (non memorizzato).

Cosa mette davvero in cache una CDN

Un dettaglio sorprende spesso: la documentazione di Cloudflare precisa che la sua CDN, per impostazione predefinita, non mette in cache né l’HTML né il JSON. Conserva i file statici riconosciuti dall’estensione (immagini, CSS, JavaScript, font, PDF, video), mentre le pagine WordPress continuano a essere generate dal tuo server a ogni visita. È possibile memorizzare anche le pagine con regole apposite, a patto di escludere tutto ciò che è personalizzato: area di amministrazione, carrello, account cliente, pagine di login.

Vantaggi e limiti

  • Velocità: meno distanza per i file pesanti e, spesso, protocolli recenti come HTTP/2 e HTTP/3 attivi lato edge.
  • Meno carico: ogni file servito dalla cache è una richiesta in meno per il tuo hosting.
  • Protezione: una CDN in modalità proxy assorbe parte degli attacchi volumetrici e offre spesso un firewall applicativo, opzionale o incluso.
  • Limiti: una cache scaduta mostra vecchie versioni dopo una modifica, quindi bisogna saperla svuotare (purge); inoltre il tuo server non vede più l’indirizzo IP dei visitatori, ma quello della CDN.
Video: «Il SEGRETO di INTERNET sono le CDN - Come aiutano a velocizzare la navigazione?» (Enrico Tech)

Per WordPress

  • Due famiglie: la CDN in modalità proxy (Cloudflare, per esempio), che si mette davanti a tutto il sito dopo un cambio dei nameserver, e la CDN per i file, in cui un plugin riscrive gli indirizzi dei media verso un sottodominio della CDN.
  • Ripristina il vero indirizzo IP dei visitatori, altrimenti la limitazione degli accessi, i log e i blocchi colpiscono i server della CDN. La nostra guida Cloudflare davanti a WordPress illustra le impostazioni lato server; WP Masquerade Pro legge anche l’header di Cloudflare, ma solo quando la connessione arriva da un intervallo IP ufficiale di Cloudflare, come spiega la pagina sul supporto di Cloudflare.
  • Svuota la cache dopo ogni aggiornamento del tema o dei plugin, e verifica che il plugin di cache e la CDN non si contraddicano.
  • Proteggi l’origine: se il tuo server resta raggiungibile direttamente tramite il suo indirizzo IP, un attaccante può aggirare la CDN e il suo firewall.

Le immagini servite dalla cache della CDN non arrivano più al tuo server: una protezione contro l’hotlinking va quindi configurata nella CDN stessa.

Per approfondire

  • Articolo Cloudflare davanti a WordPress: vero IP, WAF ed errori da evitare
  • Pagina Cloudflare, Sucuri e IP reale dei visitatori

Fonti

  1. MDN: Cache-Control (link esterno, si apre in una nuova scheda)
  2. Cloudflare Docs: Default cache behavior (link esterno, si apre in una nuova scheda)
  3. Cloudflare Docs: Cloudflare cache responses (link esterno, si apre in una nuova scheda)

Tutte le definizioni

Sicurezza WordPress, senza rumore

Un’email quando conta: nuovi attacchi osservati, aggiornamenti del plugin e guide pratiche. Niente spam, disiscrizione con un clic.

Inizia gratis, passa a Pro quando sei pronto

La versione gratuita nasconde già WordPress e sposta la pagina di login. Pro aggiunge alias, autenticazione a due fattori e monitoraggio.