Outils pour utilisateurs

Outils du site


sysadmin:docker:traefik:020_reverse_proxy_https_local

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
sysadmin:docker:traefik:020_reverse_proxy_https_local [2021/02/14 09:29] – créée yoannsysadmin:docker:traefik:020_reverse_proxy_https_local [2023/04/23 13:05] (Version actuelle) – ↷ Liens modifiés en raison d'un déplacement. yoann
Ligne 1: Ligne 1:
-{{tag>sysadmin traefik reverse-proxy}}+{{tag>sysadmin traefik reverse-proxy incomplet}}
  
  
Ligne 5: Ligne 5:
  
 On cherche ici à configurer Traefik pour fonctionner en HTTPS sur une machine de développement ou un domaine local. On utilise une autorité de certification interne émettant des certificats x509. On cherche ici à configurer Traefik pour fonctionner en HTTPS sur une machine de développement ou un domaine local. On utilise une autorité de certification interne émettant des certificats x509.
 +
 +
 +Créer les enregistrements DNS désignant les nouveaux services, ici on utilise le fichier /etc/hosts de la machine de développement:
 +
 +<file>
 +127.0.1.1       red.labinfo.mairie.local
 +127.0.1.1       blue.labinfo.mairie.local
 +127.0.1.1       green.labinfo.mairie.local
 +</file>
 +
 +On génère un **certificat wilcard** qui pourra être utilisé par les tous services et le reverse proxy. Les commandes sont invoquées depuis le répertoire de l'Autorité de Certification intermédiaire. Pour le détail des commandes confère wiki [[sysadmin:linux:gestion_certificats:devenir_autorite_de_certification_avec_openssl|devenir CA avec Openssl]]
 +
 +<code bash>
 +# Génération de la clé privée
 +openssl genrsa -out private/labinfo.mairie.local.key 2048
 +chmod 400 private/labinfo.mairie.local.key
 +
 +#Génération et signature du CSR
 +openssl req -config openssl.cnf \
 +  -key private/labinfo.mairie.local.key \
 +  -new -sha256 -out csr/labinfo.mairie.local.csr.pem
 +
 +openssl ca -config openssl.cnf \
 + -extensions server_cert -days 365 -notext -md sha256 \
 + -in csr/labinfo.mairie.local.csr.pem \
 + -out certs/labinfo.mairie.local.pem
 +
 +chmod 444 certs/labinfo.mairie.local.pem
 +
 +# vérifier le certificat
 +openssl verify -CAfile certs/ca-chain.cert.pem certs/labinfo.mairie.local.pem
 +
 +# créer la chaine de certificats certificat + ca intermediaire + ca
 +cat certs/labinfo.mairie.local.pem certs/ca-chain.cert.pem > ~/dev/labinfo.mairie.local.crt
 +cp private/labinfo.mairie.local.key ~/dev/
 +</code>
 +
 +Une fois le certificat et la clé générés, on commence la création des services
 +<code bash>
 +docker image build --tag tnf/red:stable-alpine red
 +
 +docker container run --rm --name red --detach -p 443:443 -p 80:80 tnf/red:stable-alpine
 +</code>
 +
 +===== Configuration de Traefik =====
 +
 +La configuration statique va définir les entrypoints et la connexion au provider (le docker engine local). Cela peut être fait via un fichier de configuration YML ou via les variables d'environnement dans le docker-compose.
 +
 +<code bash>
 +docker pull traefik:2.5.3
 +</code>
 +
 +Le fichier de configuration
 +<file YAML>
 +
 +</file> 
 +
  
 ===== Références ===== ===== Références =====
  
   * https://zestedesavoir.com/billets/3355/traefik-v2-https-ssl-en-localhost/   * https://zestedesavoir.com/billets/3355/traefik-v2-https-ssl-en-localhost/
sysadmin/docker/traefik/020_reverse_proxy_https_local.1613294979.txt.gz · Dernière modification : 2021/02/14 09:29 de yoann