Basculer le menu
Changer de menu des préférences
Basculer le menu personnel
Non connecté(e)
Votre adresse IP sera visible au public si vous faites des modifications.

Caddy ReverseProxy

De Le Wiki de Lug
Version datée du 25 août 2026 à 16:08 par Admin (discussion | contributions) (Installation)
(diff) ← Version précédente | Version actuelle (diff) | Version suivante → (diff)

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 80 et 443.
  • Caddy demande et renouvelle automatiquement le certificat HTTPS.
  • Les connexions HTTP sur le port 80 sont automatiquement redirigées vers HTTPS.
  • llama-swap reste en HTTP local sur 127.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 caddy doit 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 sur 127.0.0.1:8081.
  • Caddy et llama-swap ne 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