Aller au contenu principal

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
info

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 :

Caddyfile
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}
}

info

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.

remarque

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