Je possède un serveur Kimsufi qui héberge plusieurs applications ( Ce blog, et quelques outils que j'utilise avec une interface web du type Kibana ou Grafana ). Comment afficher tous ces sites avec une seule IP publique ? Et facilement avec mon installation Docker ? Et le HTTPS avec tout ça ?
Je vais avoir besoin pour cela d'un "reverse-proxy". Il existe des solutions multiples , Nginx ou Apache en mode proxy par exemple. Mais j'utilise depuis maintenant plusieurs années Traefik pour répondre à ces multiples besoins.
Un reverse proxy c'est quoi au juste ?
C'est un service placé au devant de vos applications webs et qui va diriger le trafic arrivant en frontal à ces applications en fonction de règles pré-établies :
![](/content/images/2020/02/schema-proxy.png)
On pourrait résumer un reverse proxy à ceci dans la vie quotidienne :
![](/content/images/2020/02/Indian-traffic-policeman.jpg)
Et Traefik dans tout ça ?
Pour commencer, il est pour moi important de rappeler que Traefik est Français ! Emile Vauge est à l'origine du développement de Traefik ainsi que le fondateur de la société containous qui pérennise le développement de cet outil.
Pour l'anecdote toutes les releases du logiciel porte un nom de fromage. La 2.0 se nomme Mont d'Or !
Ok mais hormis du fromage, que va nous apporter Traefik ?
- Une configuration dynamique ( auto-découverte des règles de trafic ).
- La génération de certificat SSL automatique avec Let's encrypt.
- La possibilité de modifier/ajouter/supprimer des headers aux requêtes HTTP par exemple.
Et enfin depuis peu, de diriger ( router ) tout type de trafic TCP !!
Et oui Traefik n'est pas juste un reverse-proxy, même si il s'agit là de sa principale utilisation. Il permet également de router tout type de paquets TCP depuis la version 2 du logiciel.
Dans un prochain article nous pourrons installer Traefik v2 et voir un cas concret d'utilisation de la configuration en v2.
Vous pouvez également retrouver plus d'articles sur Traefik.