Voyage d’une requete

A) Cas où le certificat TLS n’existe pas encore

1. Le Point d’Entrée Public

L’internaute (ou le robot de Let’s Encrypt) tape l’adresse professionnelle devop-project.jhennebo.fr. Grâce à l’enregistrement dans Route 53, cette requête est dirigée vers l’adresse DNS publique de mon Network Load Balancer (NLB), qui expose les ports standards 80 (HTTP) et 443 (HTTPS) au monde entier.

2. Le Voyage de la Requête (Cas sans certificat)

Puisque le certificat n’est pas encore créé, tout se joue sur le port 80 (HTTP) :

  1. Arrivée sur le NLB : La requête arrive sur le port 80 du NLB.
  2. Translation de port (Routage) : Le NLB transmet le trafic vers l’IP privée de mon instance EC2 (K3s) en redirigeant le flux vers le port fixe 30080. Ce port (NodePort) a été fixé proprement via mon Chart Helm dans Ansible.
  3. Réception par Traefik : Traefik (l’Ingress Controller, point d’entrée applicatif interne) écoute sur ce port 30080 et intercepte la requête.

3. Traitement du Challenge ACME par Traefik

C’est ici que l’absence de certificat déclenche la procédure automatique :

  • Interception du Challenge : Traefik voit passer la requête de validation temporaire envoyée par Let’s Encrypt (sur le chemin spécifique /.well-known/acme-challenge/).
  • Aiguillage interne : Au lieu de chercher à joindre WordPress, Traefik donne cette requête directement au Pod de Cert-Manager au sein du cluster K3s.
  • Validation : Cert-Manager répond positivement au challenge, prouvant à Let’s Encrypt que je possède bien le domaine.

B) Cas où le certificat TLS existe déja

Voici la suite logique. Une fois que le certificat a été généré et stocké dans le cluster, le comportement change pour sécuriser l’accès.

Voici le parcours de la requête pour un utilisateur standard, décrit brièvement :

1. Le Point d’Entrée Réseau

L’internaute tape devop-project.jhennebo.fr (ou clique sur un lien en https://). Sa requête arrive via Route 53 sur le Network Load Balancer (NLB).

2. Le Voyage de la Requête (Cas avec certificat)

Le trafic est désormais chiffré et transite majoritairement par le port 443 (HTTPS) :

  1. Arrivée sur le NLB : La requête arrive sur le port 443 du NLB.
  2. Translation de port : Le NLB renvoie le trafic vers ton instance EC2 (K3s) en ciblant le NodePort fixe 30443 (configuré via Ansible).
  3. Réception par Traefik : Traefik écoute sur le port 30443 et intercepte la requête chiffrée.

3. Traitement et Distribution par Traefik

Comme le certificat existe déjà, Traefik gère tout de A à Z en interne :

  • Filtre et Déchiffrement (TLS) : Traefik récupère le certificat SSL valide (géré par Cert-Manager), déchiffre la requête, et lit le nom de domaine pour valider la demande.
  • Accès au Pod WordPress : Traefik passe le relais final au Pod WordPress via le réseau interne du cluster (en HTTP classique, car le trafic est déjà sécurisé au sein du cluster).
Retour en haut