Ceci est une ancienne révision du document !
Table des matières
Traefic Reverse Proxy
Objectifs
Utiliser un reverse proxy moderne afin d'assurer l'hébergement de plusieurs sites adressés par plusieurs sous domaines (chez OVH).
Jouer avec Docker Compose et passer au https (enfin!) avec Let's Encrypt.
Architecture
Les règles de routage
Configuration du FrontEnd (Mise en place des rules) :https://docs.traefik.io/basics/#frontends
Exemple de quelques règles de routage :
- "traefik.frontend.rule=Host:floriantales.fr,floriantales.hd.free.fr" - "traefik.frontend.rule=Host:floriantales.fr,floriantales.hd.free.fr;PathPrefixStrip:/wiki" - "traefik.frontend.rule=PathPrefixStrip:/www" - "traefik.frontend.rule=Host:floriantales.hd.free.fr"
Traefik et compose
Difficile de se passer de compose lorsque l'on commence à jouer avec Traefik.
Exemple de configuration
Exemple de yaml pour compose :
- docker-compose.yml
version: '2' services: ProxyReverse_Traefik: image: traefik:1.5 restart: always command: --web --docker --logLevel=DEBUG ports: - "8081:80" - "8080:8080" volumes: - "/var/run/docker.sock:/var/run/docker.sock" - "$PWD/traefik.toml:/traefik.toml" Nginx_WWW: image: richarvey/nginx-php-fpm restart: always labels: - "traefik.port=80" - "traefik.backend=Nginx_WWW" - "traefik.frontend.rule=PathPrefixStrip:/www" volumes: - "/mnt/Raid/Documents_de_Florian/Documents_NAS/Dockers/Docker_Data/Nginx_WWW/:/var/www/html" Nginx_Dokuwiki: image: richarvey/nginx-php-fpm restart: always environment: - PUID=1000 - PGID=1000 labels: - "traefik.port=80" - "traefik.backend=Nginx_Dokuwiki" - "traefik.frontend.rule=Host:doku.floriantales.fr" volumes: - "/mnt/Raid/Documents_de_Florian/Documents_NAS/Dockers/Docker_Data/Nginx_Dokuwiki/:/var/www/html"
Toute la puissance de traefik et compose
Augmentation d'un cluster (nombre de backends pour traefik) Nginx_Dokuwiki :
HTTPS avec Let's Encrypt
Exemple de passage en https2: https://www.it-wars.com/posts/performance/docker-traefik-letsencrypt/
Ressources
Point de départ : https://blog.osones.com/traefik-un-reverse-proxy-pour-vos-conteneurs.html
GitHub du Projet : https://github.com/containous/traefik