Aller au contenu

Caddy

Informations et Prérequis:

Caddy est un serveur web et reverse proxy entre autre. Nous allons l'utiliser comme un reverse proxy.

  • Prérequis: Faire un NAT dans le routeur des ports 443 et 80 sur l'adresse du serveur caddy.

Installation de Caddy sur Debian

Pour la version stable:

apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy

Utilisation de Caddy en reverse proxy

Avec systemd on pourra démarrer, redémarrer, stopper le service caddy.service via:

systemctl start caddy.service

La configuration de caddy se trouve dans:

/etc/caddy/Caddyfile

Exemple de configuration pour un proxy

musique.chevallier1.fr:443 {
        reverse_proxy 192.168.1.250:3000
}

srvjo.fr.to:443 {
        reverse_proxy 192.168.1.252:80
}

Il faudra recharger la configuration avec:

systemctl reload caddy.service

Ensuite caddy se chargera de créer automatiquement les certificats avec let's encrypt !

Limiter l'accès à une ressource au réseau local

Si il y a besoin de limiter l'accès à ce wiki par exemple au réseau local, la config sera:

wiki.chevallier1.fr:443 {
        reverse_proxy 192.168.1.254:3002
        @notLocal {
        not remote_ip 192.168.1.0/24
    }
    respond @notLocal "Access denied" 403
}

Rediriger un sous-domaine vers un sous-dossier d'un serveur web

Dans le cas où nous avons un sous-domaine à connecter un à sous dossier on configurera comme suit:

wiki.mondomaine.fr {
    rewrite * /wiki{uri}
    reverse_proxy 192.168.1.254:8080
}
Voir le site et la documentation: https://caddyserver.com/docs/install#debian-ubuntu-raspbian