Aller au contenu
Sommaire

Fiche mémo Cloudflare

Fiche mémo · environ 6 min de lecture

Validé

Validé. Ce site n’exécute aucune commande. Sources

Avant toute publication (règle de l'Orchestrator)

  1. Cible : données privées ou secrets, donc local ; site public statique, donc cloudflare-pages ou github-pages (ADR 0001).
  2. Inspecter le dossier de sortie : données personnelles, secrets, .env, métadonnées, sauvegardes.
  3. noindex,nofollow : balise robots et en-tête X-Robots-Tag.
  4. /publier-pages : gardien-confidentialite (bloquant) et cyberagent.
  5. Une publication est visible de tous et peut être mise en cache.

Chemin d'une requête

Schéma : le visiteur passe par le DNS puis la bordure Cloudflare (HTTPS, règles, WAF, cache), éventuellement par Access, et atteint Pages, un Worker ou une origine privée reliée par un Tunnel sortant.Visiteur (navigateur)DNS : example.comenregistrement proxifiéBordure CloudflareHTTPS, règles, WAFcache (CDN)Access (facultatif)identité, par applicationPagesstatiqueWorkerscodeOrigineservice privécloudflaredTunnel sortant
Chemin d'une requête vers Cloudflare (schéma simplifié).

DNS et proxy

ProxifiéDNS seul
Réponse DNSadresses Cloudflareadresse réelle de l'origine
TypesA, AAAA, CNAMEtous (MX, TXT…)
FonctionsDDoS, cache, WAF, règlesaucune

Un seul A/AAAA proxifié sur un nom : tous traités comme proxifiés. « DNS seul » révèle l'IP de l'origine.

Terminal
dig example.com A +shortdig example.com NS +short
  • Contexte : Terminal macOS ; domaine de documentation à remplacer par le sien.
  • Droits : utilisateur.
  • Effet : requêtes DNS, lecture seule.
  • Vérification : adresses Cloudflare pour un nom proxifié.
  • Retour arrière : sans objet.

Cache (CDN)

  • Décidé par l'extension du fichier ; HTML et JSON non mis en cache par défaut.
  • Pas de cache si private, no-store, no-cache, max-age=0, Set-Cookie, ou méthode non GET.
  • Durées par défaut : 120 min (200, 301), 20 min (302, 303), 3 min (404, 410).
  • Valeurs de cf-cache-status et purge : non relues.
Terminal
curl -sI --max-time 10 https://example.com/ | grep -i -E 'cf-cache-status|cache-control'
  • Contexte : Terminal macOS ; domaine à remplacer par le sien.
  • Droits : utilisateur.
  • Effet : une requête HTTPS, en-têtes seulement ; lecture seule.
  • Vérification : deux appels successifs montrent si la copie vient du cache.
  • Retour arrière : sans objet.

HTTPS : modes SSL/TLS

ModeCloudflare vers origineAvis
Offclairà éviter
Flexibleclairà éviter
FullHTTPS, certificat non validéacceptable en dépannage
Full (strict)HTTPS, certificat validérecommandé
Strict (origin pull)toujours HTTPS validévariante stricte

Universal SSL : certificats gratuits DV, émis et renouvelés automatiquement ; couvre la racine et les sous-domaines de premier niveau. Mode automatique par défaut (déploiement progressif, état du compte non vérifié).

Pages

ÉlémentÉtat consulté le 2026-10-17
Envoi directglisser-déposer : 1 000 fichiers ; wrangler : 20 000 fichiers ; 25 MiB par fichier
GitGitHub et GitLab seulement ; aperçus par branche (publics aussi)
Passage direct vers Gitimpossible : nouveau projet
Plan gratuit500 constructions par mois, 100 projets, 100 domaines par projet
Adresse<NOM-PROJET>.pages.dev

Attention, effet notable. Cette commande a un effet notable. Lire le contexte, les droits et l’effet attendu indiqués après le bloc ; ne jamais l’exécuter sur un système réel sans validation, d’abord dans un environnement de test.

Terminal
npx wrangler pages deploy <DOSSIER-DE-SORTIE>
  • Contexte : Terminal macOS ; dossier de sortie validé par /publier-pages et gardien-confidentialite.
  • Droits : jeton ou connexion avec droit de modifier Pages.
  • Effet : publie le contenu à une adresse *.pages.dev, visible de tous et pouvant être mise en cache.
  • Vérification : ouvrir l'adresse en navigation privée ; contrôler les en-têtes et la liste des fichiers.
  • Retour arrière : supprimer le déploiement ou le projet dans le tableau de bord ; copies en cache possibles ; révoquer tout secret exposé.

_headers (dans le dossier publié) :

https://:project.pages.dev/*
  X-Robots-Tag: noindex

Non appliqué aux réponses de Pages Functions ; 100 règles maximum.

Domaine personnalisé : sous-domaine = CNAME vers <NOM-PROJET>.pages.dev ; racine = zone gérée par Cloudflare. Ajouter le domaine dans Pages avant le CNAME (sinon erreur 522). Un CAA restrictif bloque le certificat.

Pages ou Workers pour un projet neuf : la documentation oriente vers Workers mais ne dit rien de l'avenir de Pages ; choix à confirmer par Stéphane.

Workers, R2, D1

ProduitRôleChiffres (état consulté le 2026-10-17)
Workerscode exécuté en bordureFree : 100 000 requêtes par jour, 10 ms CPU, 50 sous-requêtes
R2objets (compatible S3)gratuit : 10 GB-mois, 1 M opérations A, 10 M opérations B ; pas de frais de sortie
D1base SQL pour WorkersFree : 10 bases, 500 MB par base, 5 GB au total
  • Aucun secret dans le code d'un Worker ; bucket non public : pas de données personnelles dans un bucket exposé.
  • D1 et R2 hébergent chez un tiers : données privées, donc local.

Tunnel et Access

  • Tunnel : cloudflared ouvre des connexions sortantes ; aucun port entrant. Son jeton est un secret.
  • Access : refus par défaut ; stratégies Allow, Block, Bypass ; durée de session ; l'origine valide le jeton d'application.
  • Tunnel sans Access = service public. Commandes de cloudflared : non vérifiées ; service permanent = ops-macos puis cyberagent.

WAF et limitation de débit

PlanRègles personnaliséesRègles de limitation de débit
Free51 (chemin seulement, par IP)
Pro202
Business1005
Enterprise1 000jusqu'à 100

Actions : Block, Managed Challenge, Skip, Log. Évaluation dans l'ordre ; Block arrête. Tester en Log quand le plan le permet.

wrangler en lecture

Terminal
npx wrangler whoaminpx wrangler pages project listnpx wrangler pages deployment list --project-name <NOM-PROJET>
  • Contexte : Terminal macOS ; session ou jeton d'un compte de test ; syntaxe à confirmer avec --help.
  • Droits : ceux du jeton ; lecture seule suffit.
  • Effet : requêtes de lecture ; sortie pouvant contenir noms de projets et ID de compte : ne pas la coller dans le dépôt.
  • Vérification : même liste que le tableau de bord.
  • Retour arrière : sans objet.

Attention : deploy, delete et les commandes de création ou de suppression modifient le compte.

Jetons d'API

Attention : un jeton est un mot de passe. Portée minimale (permission et ressource précises), date d'expiration, restriction d'IP si possible ; secret affiché une seule fois. Jamais dans un fichier, un dépôt, une capture, une URL ou un journal. Mac de Stéphane : bin/secret get NOM ou bin/avec-secrets NOM -- commande. Fuite : révoquer aussitôt, puis cyberagent.

Pièges fréquents

  • Publier avant /publier-pages : interdit.
  • Choisir « Flexible » : trajet en clair vers l'origine.
  • Créer le CNAME avant d'ajouter le domaine à Pages : erreur 522.
  • Penser qu'un fichier supprimé a disparu : cache et historiques.
  • Aperçus de branche : URL publiques aussi.
  • Quotas et prix : relire la page officielle.

Sources

Toutes consultées le 17 octobre 2026 (service sans numéro de version).