Caddy Reverse-Proxy
Retrouvez ici une solution de reverse proxy avec Caddy, l'avantage de caddy et qu'il implémente automatiquement le https.
Installation de Caddy
A partir de la documentation officielle de caddy : https://caddyserver.com/docs/install#debian-ubuntu-raspbian
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy
Vous pouvez vérifier que Caddy est bien installé en faisant : caddy version
Ensuite il va falloir activer caddy en tant que service :
sudo systemctl enable --now caddy
Caddyfile
Voici un exemple de Caddyfile pour la configuration :
sudo nano /etc/caddy/Caddyfile
et y coller :
domaine.com {
reverse_proxy [YOUR_IP]:[YOUR_PORT]
}
sub.domaine.com {
reverse_proxy [YOUR_IP]:[YOUR_PORT]
}
# Catch-all pour les requêtes non captées, redirige vers ton site principal
:80 {
redir [YOUR_WEBISTE]{uri}
}
:443 {
redir [YOUR_WEBISTE]{uri}
}
En rajoutant :80
et :443
cela va vous permettre que si un nom de domaine n'est pas trouvé par
caddy, de faire une redirection sur l'url de votre choix, ou d'afficher une page d'erreur.
le {uri}
va permettre de garder le potientiel chemin derrière votre nom de domaine.
Puis nous allons pouvoir vérifier et redémarrer caddy pour prendre en compte nos modifications :
sudo caddy validate --config /etc/caddy/Caddyfile
sudo systemctl reload caddy