Caddy ReverseProxy
De Le Wiki de Lug
Autres actions
Installation
Debian
# apt update && apt upgrade # apt install caddy
Configuration
- Le fichier de configuration principal de Caddy se trouve ici :
# vi /etc/caddy/Caddyfile
- Exemple minimal pour faire un reverse proxy vers llama-swap écoutant sur
127.0.0.1:8080:
llm.example.com {
reverse_proxy 127.0.0.1:8080
}
- Si le nom de domaine pointe correctement vers le serveur, Caddy demande et renouvelle automatiquement le certificat HTTPS.
- Après modification du fichier :
# caddy validate --config /etc/caddy/Caddyfile # systemctl reload caddy
- Pour consulter les logs :
# journalctl -u caddy -f
HTTPS automatique avec un nom de domaine
- Exemple avec un nom de domaine pointant vers le serveur :
llm.example.com {
reverse_proxy 127.0.0.1:8080
}
Dans ce cas :
- Caddy écoute sur les ports
80et443. - Caddy demande et renouvelle automatiquement le certificat HTTPS.
- Les connexions HTTP sur le port
80sont automatiquement redirigées vers HTTPS. llama-swapreste en HTTP local sur127.0.0.1:8080.
HTTPS avec un certificat existant
- Si l'on dispose déjà d'un certificat et de sa clé privée :
https://192.168.1.10 {
tls /etc/ai/ssl/server.crt /etc/ai/ssl/server.key
reverse_proxy 127.0.0.1:8080
}
Dans ce cas :
- Caddy écoute en HTTPS sur le port
443. - Le certificat fourni est utilisé à la place de la gestion automatique des certificats.
- L'utilisateur
caddydoit avoir les droits de lecture sur le certificat et sa clé privée.
HTTPS sur un port personnalisé
- Il est également possible de faire écouter Caddy sur un autre port, par exemple
8080:
https://192.168.1.10:8080 {
tls /etc/ai/ssl/server.crt /etc/ai/ssl/server.key
reverse_proxy 127.0.0.1:8081
}
Dans cet exemple :
- Caddy écoute en HTTPS sur
192.168.1.10:8080. llama-swapécoute en HTTP local sur127.0.0.1:8081.- Caddy et
llama-swapne peuvent pas utiliser simultanément le même port sur la même adresse.
Le service llama-swap devra donc utiliser par exemple :
ExecStart=/opt/llama-swap/build/llama-swap-linux-amd64 --config /etc/llama-swap/config.yaml --listen 127.0.0.1:8081
L'accès client se fera alors via :
https://192.168.1.10:8080
HTTPS interne sans nom de domaine
- Pour un réseau local, Caddy peut également générer son propre certificat :
https://192.168.1.10 {
tls internal
reverse_proxy 127.0.0.1:8080
}
Dans ce cas, Caddy utilise sa propre autorité de certification interne. Les machines clientes doivent faire confiance au certificat racine de Caddy pour éviter les avertissements de certificat.
Vérification de la configuration
- Avant de recharger Caddy :
# caddy validate --config /etc/caddy/Caddyfile
- Pour appliquer la nouvelle configuration :
# systemctl reload caddy
- Pour vérifier les ports utilisés :
# ss -ltnp | grep caddy
- Pour consulter les logs :
# journalctl -u caddy -f