Automatiser une redirection planifiée avec Cloudflare Workers
Comment automatiser la redirection de `newalfox.fr` vers `offline.newalfox.fr` à des heures précises en utilisant Cloudflare Workers et l'API Page Rules.
Par Admin User • 4 novembre 2025
Objectif
Mettre en place un mécanisme qui:
- Redirige automatiquement les visiteurs de
https://newalfox.fr/*vershttps://offline.newalfox.fr, par exemple lors d'une maintenance ou d'une indisponibilité. - Déclenche cette redirection à heure fixe:
- 21:45 UTC → activer la redirection
- 06:00 UTC → supprimer la redirection
- Fonctionne 100 % côté Cloudflare, sans serveur externe, uniquement avec Workers et l'API Page Rules.
Contraintes rencontrées
-
Page Rules classiques
- Elles permettent de définir des redirections simples.
- Mais elles ne peuvent pas être activées/désactivées automatiquement en fonction du temps.
-
DNS
- Ne peut gérer que des changements d'IP.
- Pas de redirection dynamique.
-
Cloudflare Workers
- Permettent d'exécuter un script planifié via Cron Triggers.
- Ont accès à l'API Cloudflare → possibilité de créer ou supprimer des Page Rules à la volée.
- Permettent de centraliser la logique côté Cloudflare, sans dépendance externe.
Architecture retenue
- Worker Cron : script exécuté automatiquement aux heures définies.
- API Cloudflare Page Rules : création, mise à jour ou suppression d'une règle de redirection 302.
- Variables d'environnement : stocker en toute sécurité le
ZONE_ID,API_TOKENet la fenêtre de tolérance. - Résultat : une redirection 302 temporaire, activée uniquement dans la plage souhaitée.
Workflow
1. Worker avec Cron Trigger
Le cœur du Worker repose sur le handler scheduled, qui récupère l'heure UTC et applique la logique:
if (heureUTC === CREATE_HOUR_UTC && minuteUTC === CREATE_MINUTE_UTC) { // créer ou mettre à jour la Page Rule } else if (heureUTC === DELETE_HOUR_UTC && minuteUTC === DELETE_MINUTE_UTC) { // supprimer la Page Rule }
En dehors de ces heures, le Worker ne fait rien.
2. Interaction avec l'API Cloudflare
Création ou mise à jour de la redirection (Page Rule 302)
POST https://api.cloudflare.com/client/v4/zones/YOUR_ZONE_ID/pagerules Content-Type: application/json Authorization: Bearer YOUR_API_TOKEN { "targets": [ { "target": "url", "constraint": { "operator": "matches", "value": "https://newalfox.fr/*" } } ], "actions": [ { "id": "forwarding_url", "value": { "url": "https://offline.newalfox.fr", "status_code": 302 } } ], "priority": 1, "status": "active" }
Suppression d'une règle existante
DELETE https://api.cloudflare.com/client/v4/zones/YOUR_ZONE_ID/pagerules/PAGE_RULE_ID Authorization: Bearer YOUR_API_TOKEN
3. Configuration du Cron
Cloudflare permet d'ajouter des Scheduled Triggers directement dans le Dashboard ou via wrangler.toml.
Exemple:
[triggers] crons = ["45 21 * * *", "0 6 * * *"] # UTC
4. Sécurité des identifiants
Les informations sensibles sont stockées dans les variables d'environnement du Worker:
ZONE_ID→ l'identifiant unique de la zone Cloudflare (newalfox.fr).API_TOKEN→ token API Cloudflare avec permissions limitées (Zone.Zone Settings: ReadetZone.Page Rules: Edit).MANUAL_SECRET→ pour exécutions manuelles sécurisées.CREATE_HOUR_UTC,CREATE_MINUTE_UTC,DELETE_HOUR_UTC,DELETE_MINUTE_UTC,WINDOW_MINUTES→ configuration dynamique des horaires.
Tests et validation
- Vérifier les logs dans l'onglet Workers > Logs (chaque exécution affiche l'heure et l'action prise).
- Exécuter manuellement via le Dashboard pour tester sans attendre l'heure planifiée.
- Contrôler les Page Rules dans le Dashboard ou via l'API (création à 21:45 UTC, suppression à 06:00 UTC).
- Tester la redirection en visitant
https://newalfox.fraux heures prévues → bascule automatique versoffline.newalfox.fr.
Limitations
- Basé uniquement sur une horaire fixe.
- Ne vérifie pas si le site est réellement indisponible.
- Pour un basculement conditionnel au downtime, il faudrait un service externe de monitoring (UptimeRobot, Better Stack…).
Résultat final
- Redirection automatique planifiée via Cloudflare Workers.
- Aucune dépendance externe : tout est géré côté Cloudflare.
- Sécurisé grâce aux tokens API stockés comme variables d'environnement.
- Redirections faciles à suivre et à tester via logs et dashboard.
- Code modulaire, prêt pour ajouter d'autres Page Rules.
Technologies utilisées
- Cloudflare Workers (Cron Triggers).
- Cloudflare API (gestion des Page Rules).
- Variables d'environnement sécurisées pour les identifiants.
- Redirection 302 via Page Rules.