Server tuoi, edge in affitto

Self-hosting Cloudflare nginx

Molte piccole realtà finiscono con la stessa configurazione: la posta da un fornitore, il DNS da un altro, il sito su un page builder, il monitoraggio su una dashboard in abbonamento. Ogni servizio, da solo, costa poco ed è comodo. Messi insieme lasciano dati, configurazione e disponibilità in mano ad aziende che possono cambiare prezzi, condizioni o funzioni quando vogliono.

L'estremo opposto, fare tutto da sé compresa la protezione DDoS e una CDN globale, non è realistico. Un singolo VPS non può assorbire un attacco né servire una pagina statica da 300 città.

La divisione che funziona: lo stato sui server tuoi, l'edge senza stato in affitto. Posta, zone DNS, siti e dati stanno sulla tua macchina. Davanti metti Cloudflare, per tutto ciò che guadagna da una rete globale: spesso gratis o quasi.

Perché un server proprio

I dati restano tuoi. Caselle, zone DNS, log di accesso e database stanno su un disco che controlli tu. Sai dove sono, chi può leggerli e per quanto tempo restano. Per un'azienda europea sapere dove si trovano i dati personali è anche un obbligo del GDPR.

Niente lock-in, se scegli formati semplici. Una config di nginx, una Maildir e un file di zona BIND si leggono su qualsiasi macchina Linux. Cambiare fornitore vuol dire copiare file, non esportare da un pannello proprietario sperando che l'importazione funzioni.

Costi prevedibili. Un VPS da 4 GB costa uguale che tu ospiti un sito o venti, cinque caselle o cinquanta. Niente prezzi per utente e niente sorprese tipo "hai superato il tuo piano".

Conosci quello che usi. Quando qualcosa si rompe, puoi leggere i log. Quello che impari gestendo un server tuo serve in qualsiasi lavoro che tocca Linux.

Quanto costa davvero

Il self-hosting ha un prezzo, ed è giusto dirlo:

Quasi tutto si gestisce con buoni strumenti e qualche abitudine. Alcuni di questi punti sono proprio quelli dove l'edge aiuta.

Dove entra Cloudflare

I servizi gratuiti o economici di Cloudflare coprono quello che un singolo server fa male. Ognuno risolve un problema preciso.

ServizioCosa fa per un server tuo
DNSDNS autoritativo veloce, su una rete anycast globale
ProxyTLS sull'edge, cache, WAF e assorbimento dei DDoS davanti ai tuoi siti
TunnelPubblica i siti senza porte aperte in ingresso, anche da casa o dietro CGNAT
AccessUn login davanti ai pannelli admin, prima che il traffico arrivi al server
PagesHosting per siti statici e landing page, niente da aggiornare
WorkersPiccole API e redirect che girano sull'edge
R2Storage a oggetti compatibile S3 senza costi di uscita, buono per i backup fuori sede

Un modo sensato di usarli:

Cosa deve restare diretto

Non tutto può o deve passare da Cloudflare.

Per il DNS puoi fare un passo in più: tieni il tuo server autoritativo come primario nascosto e lascia che un servizio secondario risponda al mondo. Modifichi la zona sulla tua macchina, i secondari la scaricano con AXFR dopo ogni NOTIFY, e il tuo server non viene mai interrogato direttamente.

Il dettaglio che sbagliano quasi tutti: il vero IP del visitatore

Metti un proxy davanti a nginx e ogni richiesta sembra arrivare da Cloudflare. I log si riempiono di indirizzi Cloudflare, i limiti di frequenza colpiscono l'edge invece del visitatore, e fail2ban comincia a bannare Cloudflare, cioè mette offline il sito per tutti.

nginx può recuperare l'indirizzo vero con il modulo realip, fidandosi dell'header solo dagli intervalli IP di Cloudflare (pubblicati su cloudflare.com/ips-v4 e cloudflare.com/ips-v6):

# dietro il proxy di Cloudflare
set_real_ip_from 173.245.48.0/20;   # ...una riga per ogni intervallo pubblicato
real_ip_header   CF-Connecting-IP;
# dietro cloudflared sulla stessa macchina
set_real_ip_from 127.0.0.1;
set_real_ip_from ::1;
real_ip_header   CF-Connecting-IP;

Due errori da evitare:

Gli intervalli cambiano ogni tanto: aggiornali con un'operazione pianificata invece di copiarli una volta sola.

Un'architettura di riferimento

Il laboratorio NetForge mette tutto insieme su un VPS da 4 GB: siti statici, PHP, in reverse proxy e bilanciati, raggiunti direttamente, tramite il proxy e tramite un tunnel; posta che arriva direttamente sulla porta 25; DNS come primario nascosto con secondari pubblici; pannelli admin raggiungibili solo tramite il tunnel, e SSH diretto come accesso di emergenza.

Checklist

Con NetForge

arx, missus e nomina sono tre pannelli pensati proprio per questa configurazione su un VPS Debian: hosting web con edge trust per sito (diretto, proxy Cloudflare o tunnel), server di posta e DNS autoritativo con supporto al primario nascosto. La loro configurazione sta in file di testo sul disco.

Vedi i pannelli Vedi il laboratorio