Guide de déploiement

Déployer vos applications avec Caddy sur un VPS

Déployer sur un VPS Cloud →

Déploiement7 min de lecture

Déployer vos applications avec Caddy sur un VPS

Caddy est un serveur web et reverse proxy écrit en Go dont la signature est le HTTPS automatique : il obtient et renouvelle vos certificats TLS sans aucune configuration. Sur un VPS, un Caddyfile de trois lignes remplace des dizaines de lignes de Nginx plus Certbot, ce qui en fait l'option la plus rapide pour exposer une application en HTTPS.

Pourquoi choisir Caddy comme frontal sur votre VPS ?

La complexité historique d'un reverse proxy tient au TLS : générer un certificat, configurer le renouvellement, gérer la redirection HTTP→HTTPS. Caddy supprime tout cela. Dès que vous indiquez un nom de domaine dans le Caddyfile, il contacte Let's Encrypt (ou ZeroSSL en secours), provisionne le certificat, l'agrafe (OCSP stapling) et le renouvelle en tâche de fond. La configuration est lisible, courte, et rechargeable à chaud sans coupure de service.

Les atouts de Caddy en production

  • HTTPS automatique de bout en bout : émission, renouvellement et redirection sans intervention
  • Caddyfile minimaliste : un bloc de quelques lignes par site, bien plus court qu'une conf Nginx
  • Reverse proxy intégré avec health checks et load balancing vers vos conteneurs ou ports locaux
  • HTTP/2 et HTTP/3 (QUIC) activés par défaut
  • Rechargement à chaud de la configuration (caddy reload) sans interruption des connexions
  • API d'administration JSON pour piloter la configuration dynamiquement

Prérequis

Caddy est sobre : 1 vCPU et 512 Mo à 1 Go de RAM suffisent pour servir plusieurs sites en reverse proxy. Vous avez le choix entre l'installer comme binaire système (service systemd) sur Ubuntu/Debian, ou le faire tourner en conteneur Docker. Dans les deux cas, il vous faut un domaine pointant vers l'IP du VPS et les ports 80, 443 (et 443/UDP pour HTTP/3) ouverts dans votre pare-feu.

Déployer Caddy en reverse proxy

01

Installer Caddy

Sur Ubuntu/Debian, ajoutez le dépôt officiel puis apt install caddy. Caddy s'enregistre comme service systemd actif au démarrage. Vérifiez : systemctl status caddy. En mode conteneur, partez de l'image caddy:latest et montez un volume sur /data pour persister les certificats.

02

Pointer le DNS et ouvrir les ports

Créez un enregistrement A app.votredomaine.com vers l'IP du VPS. Ouvrez les ports nécessaires : ufw allow 80, ufw allow 443 et ufw allow 443/udp pour HTTP/3. Le port 80 est indispensable au challenge HTTP de Let's Encrypt.

03

Écrire le Caddyfile

Éditez /etc/caddy/Caddyfile. Pour exposer une application qui tourne en local sur le port 3000 : app.votredomaine.com { reverse_proxy localhost:3000 }. C'est tout : Caddy déduit qu'il faut du HTTPS car vous avez indiqué un domaine et déclenche l'émission du certificat.

04

Recharger et vérifier

Appliquez la configuration sans coupure : caddy reload --config /etc/caddy/Caddyfile. Suivez l'obtention du certificat dans les logs : journalctl -u caddy -f. Au premier appel HTTPS de votre domaine, le certificat est en place.

05

Ajouter en-têtes de sécurité et compression

Enrichissez le bloc avec une directive header pour HSTS et les en-têtes anti-clickjacking, et activez encode gzip zstd pour la compression. Comme la conf est déclarative, ces ajouts restent lisibles et un simple caddy reload les applique.

Pour héberger plusieurs applications sur le même VPS, listez simplement plusieurs blocs de site dans le même Caddyfile, chacun avec son reverse_proxy. Et pour le développement local sans domaine public, remplacez le nom de domaine par :80 ou utilisez la directive tls internal : Caddy génère alors une CA locale et signe lui-même le certificat, pratique pour un environnement de préproduction interne.

La documentation officielle

Pour la configuration avancée et les options propres à l'outil, référez-vous à la documentation officielle de Caddy. Ce guide couvre la mise en ligne sur VPS ; la doc éditeur reste la référence pour les réglages fins, les mises à jour majeures et les cas d'usage spécifiques.

Mettez Caddy en frontal de vos applications sur un VPS Cloud

Déployez un VPS Cloud ServOrbit avec le template Déploiement : Caddy s'occupe du HTTPS automatique pendant que vous vous concentrez sur votre application.

Besoin d'aide ?

Parcourez notre centre d'aide et notre FAQ, ou écrivez à notre équipe — support en anglais, français et arabe.