C'etait cense etre un petit projet de week-end. Vous savez le genre : "Je vais juste lancer une VM egress, router du trafic, siroter mon cafe, et avoir fini avant le dejeuner." Ami lecteur, je n'avais pas fini avant le dejeuner.

La Configuration

Je construisais un petit niveau d'acces pour des environnements de dev : une VM egress avec Cloudflare Zero Trust devant, un routage par nom d'hote pour deux domaines de dev specifiques, et AWS WAF de l'autre cote verifiant l'IP source. Du travail assez standard de type "donner a mon equipe un acces securise sans exposer quoi que ce soit a l'Internet public."

Tout s'est deroule sans accroc jusqu'a ce que j'arrive a la partie ou il faut activer le dechiffrement TLS. C'est la magie qui permet a la passerelle Cloudflare d'inspecter reellement le trafic et de le router en fonction du nom d'hote plutot que de l'IP. Sans cela, vos belles regles de nom d'hote restent la a etre jolies sans rien faire du tout.

La Piste des Tutoriels

J'ai suivi le parcours d'apprentissage officiel Cloudflare. J'ai suivi trois articles de blog differents. J'ai suivi le tutoriel YouTube de quelqu'un dont la voix donnait vraiment envie de s'abonner. Ils disaient tous la meme chose :

Allez dans Zero Trust > Parametres > Reseau > Pare-feu > Dechiffrement TLS et activez l'interrupteur.

Alors j'y suis alle. L'interrupteur s'est active. Puis une banniere rouge est apparue en haut de l'ecran qui disait simplement :

Erreur lors de la configuration du parametre TLS.

C'etait tout. Pas de code. Pas d'indice. Pas de lien "cliquez ici pour les details". Juste une ambiance de "quelque chose a mal tourne, bonne chance."

J'ai reessaye. Meme erreur. J'ai rafraichi. Meme erreur. J'ai essaye dans Firefox. Meme erreur. J'ai vide le cache. Meme erreur. J'ai envisage de faire du cafe. J'ai fait du cafe. Meme erreur.

Le Travail de Detective

C'est la que mon outil prefere entre en jeu. Quand l'interface refuse de vous dire ce qui ne va pas, l'onglet reseau et curl le feront. J'ai ouvert les outils de developpement, observe la requete que l'interrupteur envoyait, je l'ai copiee en curl et l'ai executee localement :

{
  "result": null,
  "success": false,
  "errors": [
    {
      "code": 2211,
      "message": "Le dechiffrement TLS ne peut pas etre active sans certificat. Veuillez desactiver le chiffrement TLS ou configurer un certificat en utilisant le parametre 'certificate'."
    }
  ],
  "messages": []
}

Il etait la. Un message d'erreur clair, utile et actionnable. Le genre de message qui, s'il etait affiche dans l'interface, m'aurait fait gagner environ quatre-vingt-dix minutes de ma vie. Au lieu de cela, il se cachait dans la reponse JSON, avale quelque part entre l'API et l'ecran.

Le message disait en gros : "il vous faut d'abord un certificat, espece de patate." (Je paraphrase.)

La Veritable Solution

Voici ce que personne sur Internet ne semble mentionner : la gestion des certificats a ete deplacee.

Tous les guides que j'ai lus pointaient vers l'ancien emplacement. L'emplacement actuel reel est enterre dans une section completement differente. Plus precisement :

Zero Trust > Politiques de trafic > Parametres de trafic > Certificats (onglet en haut)

Pas Reseau. Pas Pare-feu. Politiques de trafic > Parametres de trafic.

Vous y genere un certificat gere par Cloudflare. Ensuite vous le marquez comme Disponible et En Cours d'Utilisation. Ensuite vous attendez cinq a dix minutes (cette partie non plus, personne ne la mentionne, vous regardez juste un champ de statut en remettant tranquillement en question vos choix de vie). Une fois le certificat pleinement actif, vous pouvez enfin retourner activer le dechiffrement TLS.

Cela fonctionne tout simplement. L'interrupteur bascule. La banniere rouge reste absente. Le monde a de nouveau un sens.

La Morale

Deux choses me sont restees de cette petite aventure.

Premierement : la documentation n'etait pas fausse, elle etait juste depassee. Cloudflare evolue vite et reorganise souvent son tableau de bord. Ce n'est pas une plainte, juste une realite. Quand vous suivez un guide pour un produit en evolution rapide, attendez-vous a ce que les chemins de menu aient change. Les concepts sont les memes, les boutons ne sont pas toujours la ou les captures d'ecran les montrent.

Deuxiemement : l'onglet reseau est votre meilleur ami. Quand une UI vous donne une erreur inutile, l'API en sait presque toujours plus. Les outils de developpement du navigateur, curl, ou meme simplement lire la reponse brute, c'est la difference entre deboguer en cinq minutes et deboguer en cinq heures. La gestion des erreurs de l'UI est une fine couche peinte sur un systeme bien plus verbeux, et ce systeme est generalement la, a vous attendre, pret a repondre si vous lui demandez gentiment.

Le Bonus

J'ai effectivement signale cela a Cloudflare. Le code d'erreur 2211 a un message parfaitement correct qui lui est associe. Il n'arrive simplement pas jusqu'a l'ecran. Esperons que quelqu'un le remarque et qu'un futur guerrier du week-end recoive une banniere utile au lieu d'une banniere vague.

D'ici la, si vous voyez un jour "Erreur lors de la configuration du parametre TLS" sans plus de details, la reponse est probablement :

  1. Generez d'abord un certificat (sous Politiques de trafic > Parametres de trafic)
  2. Marquez-le comme Disponible et En Cours d'Utilisation
  3. Attendez
  4. Puis activez le dechiffrement TLS

Maintenant, si vous voulez bien m'excuser, j'ai une VM egress qui fonctionne enfin, et un cafe qui a refroidi deux fois.

Salutations du bureau de debogage du dimanche a minuit (02h42).