👍 On aime
- ✓Sécurise automatiquement les connexions avec HTTPS.
- ✓Facilite la gestion des certificats Let's Encrypt.
- ✓Permet un hébergement auto sécurisé pour divers services.
- ✓Améliore la performance et le confort d'utilisation.
👎 On regrette
- ✕Nécessite une bonne compréhension du système de fichiers et des commandes Docker.
- ✕Peut être complexe à configurer pour les débutants en réseaux.
- ✕Dépend de l'infrastructure Internet stable pour obtenir les certificats Let's Encrypt.
🏆 Notre sélection
Liens affiliés · prix identique pour toiRetrouve tout notre matériel recommandé dans la boutique.
📑 Sommaire ▾
- 01 Prérequis
- 02 Installation pas à pas
- · Étape 1 : Installation de Docker sur votre serveur
- · Étape 2 : Création du fichier Caddyfile
- · Étape 3 : Définition des services à héberger
- · Étape 4 : Lancement des services avec Docker Compose
- · Étape 5 : Vérification du bon fonctionnement
- 08 Vérifications
- 09 Sécurité et bonnes pratiques
- 10 Dépannage : erreurs courantes
- 11 FAQ
- · Quels sont les avantages de l’utilisation de Let’s Encrypt avec Caddy ?
- · Comment puis-je vérifier que le renouvellement automatique fonctionne bien ?
- · Quel est le temps de renouvellement du certificat Let’s Encrypt ?
- 15 A lire aussi
- 16 Heberger ce service
Dans ce tutoriel, nous allons installer et configurer Caddy comme reverse proxy SSL pour sécuriser plusieurs services homelab et self-hosting. Grâce à cette configuration, vous obtiendrez un accès en HTTPS automatisé pour vos applications, avec la gestion de Let’s Encrypt intégrée. Ce guide est particulièrement utile pour ceux qui cherchent à renforcer la sécurité de leurs systèmes d’hébergement domestique sans compromettre la facilité d’utilisation.
Prérequis
- OS Ubuntu 20.04 ou version ultérieure
- Un nom de domaine pointant vers votre serveur
- Port 80 et 443 ouverts dans le pare-feu
- Docker installé et configuré
- Les services que vous souhaitez héberger via Caddy (ex: Nextcloud, OwnCloud, etc.)
Installation pas à pas
Étape 1 : Installation de Docker sur votre serveur
Installez Docker en suivant les instructions du site officiel. Une fois Docker installé, vérifiez la version avec la commande docker --version.
curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh
sudo usermod -aG docker $USER
Étape 2 : Création du fichier Caddyfile
Créez un fichier Caddyfile dans le répertoire /etc/caddy/. Ce fichier contiendra la configuration de votre reverse proxy. Vous pouvez utiliser l’exemple suivant en adaptant les noms de domaines et les chemins d’accès aux services.
default {
@domain {YOUR_DOMAIN}
tls {EMAIL_ADDRESS} {PHONE_NUMBER}
proxy / nextcloud:80 {
header_upstream Host {http.request.host}
header_upstream X-Real-IP {http.request.remote_addr}
header_upstream X-Forwarded-Proto {scheme}
}
}
default {
@domain {YOUR_OTHER_DOMAIN}
tls {EMAIL_ADDRESS} {PHONE_NUMBER}
proxy / owncloud:80 {
header_upstream Host {http.request.host}
header_upstream X-Real-IP {http.request.remote_addr}
header_upstream X-Forwarded-Proto {scheme}
}
}
Étape 3 : Définition des services à héberger
Créez un fichier docker-compose.yml dans le répertoire /etc/caddy/services/. Ce fichier définira les services que vous souhaitez héberger via Caddy. Vous pouvez utiliser l’exemple suivant en adaptant noms et ports.
caddy:
image: caddy:2
container_name: caddy
restart: always
volumes:
- /etc/caddy:/etc/caddy
- /etc/letsencrypt:/etc/letsencrypt
networks:
- backend
networks:
backend:
external: true
Étape 4 : Lancement des services avec Docker Compose
Avec les fichiers Caddyfile et docker-compose.yml, vous pouvez maintenant lancer les services via Docker Compose.
docker-compose up -d
Étape 5 : Vérification du bon fonctionnement
Vérifiez que le service Caddy est démarré avec la commande suivante.
docker ps | grep caddy
Assurez-vous également que les services hébergés sont accessibles via HTTPS à partir de votre navigateur.
Vérifications
Pour vous assurer que tout fonctionne correctement, exécutez ces commandes :
curl -I https://{YOUR_DOMAIN}
docker logs caddy
Vous devez voir un code de réponse HTTP 200 et un certificat Let’s Encrypt valide dans les logs.
Sécurité et bonnes pratiques
Pour sécuriser votre installation, vous devriez activer le HTTPS complet (HSTS), utiliser des mots de passe forts pour Caddy et Docker, et envisager la mise en place d’un système de vérification à deux facteurs. Assurez-vous également que les mises à jour du logiciel sont configurées automatiquement.
Dépannage : erreurs courantes
- Symptôme : Les connexions HTTPS échouent.
- Cause : Le certificat Let’s Encrypt n’a pas été renouvelé correctement.
- Correctif : Vérifiez votre configuration Caddy et assurez-vous que les notifications email sont activées pour les erreurs de renouvellement.
- Symptôme : Les services hébergés ne sont pas accessibles.
- Cause : Le reverse proxy Caddy n’est pas configuré correctement.
- Correctif : Vérifiez que le
Caddyfileest bien configuré et qu’il y a une entrée pour chaque service.
FAQ
Quels sont les avantages de l’utilisation de Let’s Encrypt avec Caddy ?
L’usage de Let’s Encrypt permet d’obtenir facilement des certificats SSL/TLS gratuits qui sécurisent vos connexions HTTPS sans effort supplémentaire.
Comment puis-je vérifier que le renouvellement automatique fonctionne bien ?
Vérifiez les logs Caddy pour voir si les tentatives de renouvellement sont réussies. Vous pouvez également utiliser des outils comme certbot pour tester manuellement la validité du certificat.
Quel est le temps de renouvellement du certificat Let’s Encrypt ?
Les certificats Let’s Encrypt expirent tous les 90 jours mais Caddy s’occupe automatiquement du renouvellement avant l’expiration.
A lire aussi
Heberger ce service
Pas envie de gerer le materiel ni la maintenance ? Ce type de service s’auto-heberge sur un VPS manage, pret en quelques minutes. Voir les offres PlanetHoster