Reverse Proxy And Auto SSL Using Caddy And Docker Compose

Blue Hippo
10 Aug 202203:47

Summary

TLDRDans cette vidéo, l'utilisateur apprend à configurer un proxy inverse avec Docker et Caddy. Après avoir créé un fichier de configuration pour Caddy et un fichier Docker Compose, il est expliqué comment établir un réseau Docker pour permettre à Caddy de gérer le proxy inverse. Le processus comprend l'ouverture des ports nécessaires sur le routeur, la configuration d'un fichier DNS et l'intégration de certificats SSL Let's Encrypt. Enfin, une fois les paramètres en place, l'utilisateur peut facilement ajouter de nouveaux sous-domaines et rediriger les services web via Caddy, avec SSL activé pour chaque service.

Takeaways

  • 😀 Créez d'abord un répertoire et un fichier nommé 'Caddyfile' pour configurer les paramètres du proxy inverse.
  • 😀 Si le fichier 'Caddyfile' n'est pas créé manuellement, Docker le traitera comme un répertoire au lieu d'un fichier.
  • 😀 Docker Compose est fortement recommandé pour simplifier la gestion des containers, mais n'est pas indispensable pour Docker.
  • 😀 Le fichier Docker Compose définit un réseau Docker nommé 'caddy', permettant à Caddy de gérer le proxy inverse de tous les containers connectés.
  • 😀 Pour tout container ajouté en dehors du fichier Docker Compose, assurez-vous qu'il fait partie du réseau Docker 'caddy' ou ajustez le réseau défini.
  • 😀 Utilisez la commande 'sudo docker-compose up -d' pour créer les containers et configurer le réseau selon le fichier Docker Compose.
  • 😀 Dans le 'Caddyfile', spécifiez l'email pour le certificat SSL Let's Encrypt et ajoutez le domaine à utiliser pour le container.
  • 😀 Utilisez un sous-domaine dans le 'Caddyfile' pour rediriger vers un container spécifique, bien que ce ne soit pas obligatoire.
  • 😀 Assurez-vous que les ports 80 et 443 sont ouverts sur votre réseau, surtout si vous hébergez le serveur vous-même.
  • 😀 Configurez les règles de pare-feu pour autoriser le trafic vers les ports 80 et 443 afin d'assurer l'accès extérieur.
  • 😀 Pour les paramètres DNS, vous pouvez utiliser un astérisque comme valeur d'hôte pour rediriger dynamiquement les sous-domaines vers les containers appropriés.

Q & A

  • Pourquoi devons-nous créer manuellement le fichier Caddy au lieu de le laisser Docker le créer automatiquement ?

    -Nous devons créer le fichier Caddy manuellement pour que Docker puisse le mapper correctement et nous permettre d'y accéder. Si ce fichier n'est pas créé manuellement, Docker risque de le créer comme un répertoire au lieu d'un fichier.

  • Qu'est-ce que Docker Compose et pourquoi est-il recommandé pour ce tutoriel ?

    -Docker Compose est un outil qui permet de définir et de gérer des applications Docker multi-conteneurs. Il est recommandé dans ce tutoriel car il simplifie la gestion de plusieurs conteneurs et de leurs réseaux en utilisant un fichier de configuration YAML.

  • Pourquoi devons-nous définir un réseau Docker dans le fichier Docker Compose ?

    -Le réseau Docker est défini pour permettre à Caddy de gérer le reverse proxy entre les différents conteneurs. En définissant un réseau spécifique, tous les conteneurs ajoutés au fichier Docker Compose peuvent être gérés sous ce réseau, ce qui facilite la configuration.

  • Quelles sont les implications de définir un conteneur en dehors du fichier Docker Compose ?

    -Si vous ajoutez un conteneur en dehors du fichier Docker Compose, vous devez vérifier le nom exact du réseau Docker, car il peut différer de celui défini dans le fichier Compose. Cela nécessite de connaître le nom du réseau réel pour éviter des problèmes de configuration.

  • Que fait la commande 'sudo docker-compose up -d' et pourquoi l'utilise-t-on ?

    -'sudo docker-compose up -d' lance les conteneurs définis dans le fichier Docker Compose, crée le réseau Docker et applique la configuration. Le flag '-d' permet d'exécuter les conteneurs en mode détaché, sans bloquer le terminal.

  • Que doit-on spécifier dans le fichier Caddy pour configurer un reverse proxy avec SSL ?

    -Dans le fichier Caddy, vous devez spécifier l'email pour obtenir un certificat SSL Let's Encrypt, puis ajouter votre domaine (ou sous-domaine) et le nom du conteneur, ainsi que son port interne (pas le port publié).

  • Pourquoi est-il nécessaire d'ouvrir les ports 80 et 443 sur le réseau si vous hébergez le serveur vous-même ?

    -Les ports 80 et 443 doivent être ouverts pour permettre à Caddy de gérer les requêtes HTTP et HTTPS. Cela est nécessaire uniquement si vous hébergez le serveur chez vous, car l'hébergement externe configure généralement ces ports automatiquement.

  • Quelles sont les deux méthodes pour configurer les DNS dans le fichier Caddy ?

    -La première méthode consiste à utiliser un astérisque '*' comme valeur pour l'hôte, redirigeant ainsi toutes les sous-domaines vers les conteneurs. La deuxième méthode consiste à spécifier manuellement l'hôte pour chaque sous-domaine, ce qui nécessite une mise à jour dans le fichier Caddy et les paramètres DNS de votre domaine.

  • Pourquoi recommande-t-on d'utiliser la valeur '*' pour l'hôte dans la configuration DNS ?

    -L'utilisation de '*' comme valeur pour l'hôte permet de rediriger dynamiquement n'importe quel sous-domaine vers le bon conteneur sans nécessiter de modifications supplémentaires dans le fichier Caddy à chaque ajout de sous-domaine.

  • Comment savoir si les paramètres DNS ont bien été propagés après modification ?

    -Une fois que les paramètres DNS ont été enregistrés, il peut s'écouler un certain temps avant leur propagation. Une fois propagés, vous pourrez accéder à votre domaine ou sous-domaine configuré, comme indiqué dans l'exemple du sous-domaine 'pertainer.bluehebrew.org'.

Outlines

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Mindmap

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Keywords

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Highlights

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Transcripts

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now
Rate This

5.0 / 5 (0 votes)

Related Tags
CaddyDockerProxy inverseSSLComposeServeurTechnologieWebDockerfileDéveloppementSous-domaines
Do you need a summary in English?