Mettre en place un CDN gratuit avec Cloudflare

Credit : Illustration backtotheweb.fr

Mettre en place un CDN gratuit avec Cloudflare

Dylan D. — Agent Support Technique Serveur Web 574 mots 3 min

Mettre en place un CDN gratuit avec Cloudflare

C'est le genre de manip qu'on fait une fois et qu'on oublie. D'où cet article.

Cloudflare propose un plan gratuit extremement genereux qui inclut un CDN mondial, un certificat SSL, une protection DDoS et un WAF basique. Voici comment le configurer correctement.

Etape 1 : Ajouter votre domaine

  1. Creez un compte sur cloudflare.com
  2. Cliquez sur "Add a site"
  3. Entrez votre domaine (ex: monsite.fr)
  4. Choisissez le plan Free
  5. Cloudflare scanne vos enregistrements DNS existants

Etape 2 : Configurer les DNS

Cloudflare vous donne deux nameservers (ex: aria.ns.cloudflare.com et bob.ns.cloudflare.com). Changez les nameservers chez votre registrar.

Verifiez vos enregistrements DNS :

Type   Nom          Contenu           Proxy
A      monsite.fr   203.0.113.10      Proxied (orange)
A      www          203.0.113.10      Proxied (orange)
MX     monsite.fr   mail.monsite.fr   DNS only (gris)
TXT    monsite.fr   v=spf1 ...        DNS only (gris)

Important : les enregistrements MX et TXT doivent rester en mode "DNS only" (nuage gris). Seuls les enregistrements web (A, AAAA, CNAME) doivent etre en mode "Proxied" (nuage orange).

Etape 3 : Configurer le mode SSL

Allez dans SSL/TLS > Overview. Les modes disponibles :

Choisissez Full (Strict) et installez un certificat sur votre serveur :

# Installer un certificat Let's Encrypt
sudo certbot --nginx -d monsite.fr -d www.monsite.fr

Ou utilisez un certificat d'origine Cloudflare (SSL/TLS > Origin Server > Create Certificate), valable 15 ans.

Etape 4 : Regles de cache

Allez dans Caching > Configuration :

Pour forcer le cache sur certaines pages, utilisez les Cache Rules :

Regle 1 : Cache agressif sur les assets
Si : URI Path contient /wp-content/ OU /assets/
Alors : Cache eligible, Edge TTL = 1 mois, Browser TTL = 1 semaine

Regle 2 : Bypass cache pour l'admin
Si : URI Path commence par /wp-admin/ OU /wp-login
Alors : Bypass cache

Etape 5 : Page Rules (3 gratuites)

Les Page Rules permettent des actions avancees :

Regle 1 : Redirection www
*www.monsite.fr/*
-> Forwarding URL (301) -> https://monsite.fr/$1

Regle 2 : Forcer HTTPS
http://*monsite.fr/*
-> Always Use HTTPS

Regle 3 : Cache Everything sur les pages statiques
monsite.fr/blog/*
-> Cache Level: Cache Everything, Edge Cache TTL: 4 heures

Etape 6 : WAF et securite

Dans Security > WAF :

Bloquez des pays ou des IP dans Security > WAF > Custom Rules :

Nom : Bloquer pays suspects
Expression : (ip.geoip.country eq "XX")
Action : Block

Verifier que Cloudflare fonctionne

# Verifier les headers
curl -I https://monsite.fr

# Vous devriez voir :
# cf-cache-status: HIT
# cf-ray: 8a1b2c3d4e5f-CDG
# server: cloudflare

Purger le cache

# Via API Cloudflare
curl -X POST "https://api.cloudflare.com/client/v4/zones/ZONE_ID/purge_cache" \
  -H "Authorization: Bearer VOTRE_TOKEN" \
  -H "Content-Type: application/json" \
  --data '{"purge_everything":true}'

Cloudflare est un complement ideal a un hebergement IONOS : votre serveur gere le contenu dynamique tandis que Cloudflare met en cache et distribue le contenu statique mondialement.

# Articles similaires

// newsletter

Cet article vous a aide ? Recevez les prochains par email.