Utiliser Caddy comme reverse proxy
Caddy est un puissant reverse proxy écrit en langague go. Il est une excellente alternative à Nginx et Traefik. Je l'utilise pour accéder à mes containers docker (ce blog par exemple). Caddy génère automatiquement les certificats ssl letsencrypt (ce qui est très pratique ). Nous allons voir comment l'installer et l'utiliser.
Installation sur Debian/Ubuntu:
Installation avec Docker:
Créez un fichier docker-compose.yml :
version: '3.1'
services:
caddy:
image: caddy:<version>
restart: unless-stopped
ports:
- "80:80"
- "443:443"
- "443:443/udp"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- ./site:/srv
- caddy_data:/data
- caddy_config:/config
volumes:
caddy_data:
caddy_config:
Pour démarrer le container:
docker compose up -d
Configuration:
Partons du principe que le nom de domaine est "test.ncity.fr" (assurez-vous qu'il pointe bien sur l'adresse ip de votre serveur) et que l'on veut rediriger le domaine sur le port "8080".
Editez le fichier de configuration (à adapter si vous utilisez docker compose):
nano /etc/caddy/Caddyfile
Insérez ces directives:
test.ncity.fr {
reverse_proxy localhost:8080
log {
output file /var/log/caddy/test.ncity.fr.access.log
}
}
Redémarrez caddy:
service caddy restart
Avec Docker compose:
docker compose restart
Caddy a créé et configuré automatiquement le certificat ssl pour votre domaine. Vous pouvez désormais accéder à votre application: https://test.ncity.fr