ADR-0010 — Cloudflare edge, WAF, CDN et DNS
Status : Accepted Date : 2026-03 (rétroactif) Deciders : équipe plateforme Nex Tickets : —
Contexte
Le trafic vers Nex est mondial avec une forte concentration CEMAC. Latence et protection contre les attaques (DDoS, scrapers, brute-force OTP) sont des préoccupations majeures.
Quatre besoins distincts :
- Edge / CDN pour assets et latence.
- WAF pour protéger les endpoints sensibles (
/auth/login,/auth/register,/auth/otp). - DNS pour la zone
paywithnex.com. - Hébergement du site de documentation publique (
docs.paywithnex.com).
Décision
- Cloudflare pour les quatre besoins. Zone
paywithnex.com, plan Free. - DNS géré chez Cloudflare (Zone ID
42d017ab767f081e4870d86f6795f3b9). - SSL mode : Full (strict). Always Use HTTPS ON. Min TLS 1.2.
- WAF mode Block sur les endpoints sensibles (cf. /operations/gateway-cdn-securisation).
- CDN sur les assets et la doc VitePress (cf. ADR-0011).
- Pages héberge
docs.paywithnex.com(mode Direct Upload viawrangler pages deploy). - Origin : NLB AWS (
a7411e2c…elb.eu-west-3.amazonaws.com) protégé par Cloudflare proxy.
Conséquences
Positives
- Edge présent dans la zone CEMAC (Brazzaville notamment) — latence assets ~50 ms.
- WAF native et géré, règles partageables entre apps.
- Rate limiting natif au niveau edge (en complément des
@ThrottleNestJS). - Hébergement gratuit de la doc (Pages plan free généreux).
- DNS rapide et fiable.
Négatives / risques
- Dépendance Cloudflare. Panne = perte d’accès à l’ensemble du périmètre public. Mitigation : monitorer disponibilité Cloudflare et avoir un plan B DNS de secours.
- Plan Free a des limites WAF — passage Pro/Business à prévoir si besoins avancés (managed rulesets, advanced rate limiting).
- Pas de gestion DNS via le MCP Cloudflare actuel — utiliser l’API REST + Global API Key.
Alternatives écartées
- CloudFront + WAF AWS — bien intégré AWS mais moins de présence CEMAC, WAF moins ergonomique.
- Akamai — sur-dimensionné pour la maturité actuelle de Nex.
- DNS chez registrar + WAF auto-hébergé (ModSecurity) — coût opérationnel disproportionné.
Suivi
- Voir /operations/gateway-cdn-securisation.
- Voir /operations/cicd-deploy-docs.
- DNS operations doivent passer par l’API REST Cloudflare avec Global API Key (cf. mémoire
Cloudflare MCP).