28 points par GN⁺ 2025-02-17 | 12 commentaires | Partager sur WhatsApp

Principales fonctionnalités de Caddy

  • Sécurité et évolutivité : Caddy obtient et renouvelle automatiquement des certificats TLS par défaut pour tous les sites. Cela rend les sites plus sûrs et plus fiables.
  • TLS à la demande : il peut gérer dynamiquement les certificats TLS pour des domaines appartenant aux clients, ce qui facilite la montée en charge d’une activité SaaS.
  • Gestion TLS à grande échelle : Caddy est conçu pour gérer de manière fiable des centaines de milliers de sites et des milliers d’instances.

Avantages de Caddy

  • Logiciel gratuit : Caddy est proposé gratuitement, et son développement continu est rendu possible grâce au soutien de ses utilisateurs.
  • Serveur HTTPS avancé : Caddy fournit TLS et PKI nativement, et permet aussi de gérer une PKI interne.
  • API de configuration : il est possible d’exposer et de manipuler des documents JSON via une API RESTful.
  • Conformité réglementaire : Caddy est conforme par défaut aux normes PCI, HIPAA et NIST.

Fonctionnalités avancées de Caddy

  • Coordination de cluster : plusieurs instances Caddy peuvent être configurées avec le même stockage afin de coordonner automatiquement la gestion des certificats.
  • Backends dynamiques : les backends peuvent être découverts dynamiquement au moment des requêtes, ce qui convient aux environnements qui évoluent rapidement.
  • Haute disponibilité : Caddy propose des fonctions telles que des vérifications d’état avancées, des modifications de configuration, un coupe-circuit et la limitation de charge.

Configuration et extensibilité de Caddy

  • Configuration flexible : JSON est utilisé comme format de configuration principal, avec la prise en charge d’adaptateurs pour divers formats.
  • Extensibilité sans limite : Caddy est conçu avec une architecture modulaire, permettant de compiler uniquement les fonctionnalités nécessaires.
  • Hautes performances : il offre des performances CPU natives, et les plugins sont compilés dans un binaire statique.

Cas d’usage de Caddy

  • Serveur d’applications PHP : via FrankenPHP, il sert rapidement des pages PHP sans nécessiter d’installation PHP séparée.
  • Serveur de fichiers statiques : Caddy offre de puissantes fonctionnalités de serveur de fichiers, combinables avec diverses fonctions de middleware.
  • Gestion automatique des certificats : Caddy gère automatiquement les certificats afin de maintenir les sites en ligne en permanence.

Recommandations des utilisateurs et des experts

  • Caddy est recommandé par de nombreux utilisateurs et experts pour sa simplicité d’utilisation, son excellent niveau de sécurité et son puissant ensemble de fonctionnalités.
  • Divers utilisateurs se disent satisfaits de la configuration simple de Caddy et de ses fonctions automatisées.

12 commentaires

 
ssssut 2025-02-19

J’utilise Caddy depuis les débuts du projet, à l’époque où c’était encore le projet personnel de mholt, et j’avais même envoyé une PR au début, donc ça me rend assez fier de le voir devenir aussi important. Parmi les serveurs que je configure récemment, j’utilise exclusivement Caddy partout où ce n’est pas un environnement k8s. On entend depuis longtemps dire que son throughput n’est pas très élevé, mais j’envie vraiment ceux qui exploitent un service avec un trafic assez important pour que le throughput de Caddy devienne réellement un problème.

 
honglu 2025-02-19

C'est impressionnant.

 
hands8142 2025-02-18

Que pensez-vous tous de Traefik ?? J’hésite entre Traefik et Caddy.

 
porteleaf 2025-02-18

https://www.youtube.com/watch?v=N5PAU-vYrN8&t=663s
Clairement, c’est très pratique pour les petits projets. Quand il fallait mettre en place HTTPS avec nginx, j’utilisais certbot, alors qu’ici c’était pris en charge nativement.
L’inconvénient, c’est que les performances sont inférieures à celles de nginx : nginx > caddy.

 
yangeok 2025-02-25

Si les performances du PC sont mauvaises, il faudra utiliser nginx, j’imagine,,

 
bbulbum 2025-02-18

Je l’utilise depuis quelques années, et comme la prise en charge automatique de HTTPS est activée par défaut, j’ai trouvé un peu étrange au début qu’il faille configurer quelque chose pour l’éviter quand on n’en a pas besoin.
Il est tellement simple qu’on se demande si un serveur web peut vraiment être aussi simple, c’est pour ça que je l’utilise souvent.

 
secret3056 2025-02-18

Caddy est clairement très puissant et simple à utiliser, mais son throughput ne me semble pas si bon que ça.
Et cela peut être un avantage comme un inconvénient, mais si vous voulez un plugin particulier, il faut l’inclure au moment du build.

 
tribela 2025-02-18

La fonction de cache, que je pensais présente par défaut, est en fait fournie sous forme de plugin, et il faut en plus la compiler pour l’utiliser... Mis à part cet inconvénient, je l’utilise bien.

 
aer0700 2025-02-17

Le serveur ultime... il fait envie haha

 
GN⁺ 2025-02-17
Avis sur Hacker News
  • Caddy est très utile pour tester localement une API en HTTP2 pendant le développement

    • La plupart des serveurs de développement ne prennent en charge que HTTP1, ce qui limite localhost à 6 connexions simultanées maximum
    • HTTP2 nécessite du SSL, ce qui rend les tests et la configuration en local fastidieux
    • Avec le reverse proxy Caddy, on peut installer un certificat racine dans le magasin de confiance de l’OS et utiliser HTTP2 immédiatement
    • ElectricSQL le recommande à ses utilisateurs, et HTTP2 ne bloque pas ces 6 connexions simultanées
    • Placer Caddy devant Vite accélère nettement le rechargement
    • Vite utilise un système de modules JS qui charge les fichiers individuellement dans le navigateur et prend en charge HMR
    • Avec HTTP2, placer Caddy devant Vite permet de résoudre tous ces problèmes
  • Après être passé de nginx à caddy-docker-proxy, puis à Pangolin, j’en suis très satisfait

    • Pangolin est un frontend pour traefik, avec authentification intégrée et tunnelisation du trafic via Wireguard
    • J’avais besoin de redirection TCP pour un serveur Minecraft, et cela a été très simple à mettre en place
    • Je le recommande à ceux qui veulent une meilleure version de Nginx Proxy Manager
    • La documentation est encore insuffisante, mais le mainteneur est très serviable sur Discord
  • Je ne peux pas dire de mal de Caddy, mais son seul avantage par rapport à Nginx semble être la simplicité de configuration des certificats

    • J’ai configuré il y a quelques années un cluster Kubernetes pour générer et renouveler automatiquement les certificats
    • Tout passe par Ingress, et il suffit d’assigner le load balancer Nginx à un nouveau domaine pour que tout se fasse automatiquement
    • Je n’ai pas souvent besoin de HTTPS en local, mais quand c’est le cas, j’ai aussi besoin d’un accès externe
    • J’utilise un serveur qui exécute Nginx pour proxyfier vers localhost
    • Cette méthode me convient bien, et comme je n’ai aucune raison d’en changer, je vais continuer à l’utiliser
  • J’aime beaucoup Caddy et je l’utilise depuis plusieurs années

    • C’est très fiable et, une fois les bases comprises, la configuration est très simple
    • La documentation est un peu difficile, mais cela fait gagner bien plus de temps et d’énergie que d’essayer de faire fonctionner letsencrypt de manière fiable au-dessus de NGINX
  • Une licence favorable (Apache v2) compte aussi, en particulier pour l’architecture modulaire de Caddy

    • L’écosystème autour de Caddy devient plus simple et plus sûr
    • Par exemple, on peut fournir un client Internet tout en gardant le serveur privé
    • Des VPN comme Tailscale ou OpenZiti en sont des exemples
  • Le HTTPS automatique fournit et renouvelle des certificats TLS pour tous les sites

    • Il redirige automatiquement HTTP vers HTTPS
    • Je me demande si, lorsqu’on pointe l’IP d’un domaine vers Caddy, le certificat est généré à la volée lors du premier appel HTTPS
    • C’est important à cause de la nécessité de rediriger le domaine apex vers www
    • On peut résoudre cela avec un service gratuit, mais ce pourrait être plus simple avec Caddy
  • Après avoir lu le site web du début à la fin, je ne suis pas convaincu de la fiabilité du projet

    • Il y a trop d’autopromotion, ce qui laisse une impression désagréable
    • J’ai l’impression que les auteurs ne seraient pas honnêtes au sujet des inconvénients connus
    • Je me demande si quelqu’un sait comment ils se sont présentés publiquement par le passé
  • Combiner Caddy et Caddy-Docker-Proxy est une excellente façon de configurer un serveur avec plusieurs projets Docker

    • Je l’exécute sur quelques serveurs et cela fonctionne bien
  • J’adore Caddy

    • J’ai quitté NGINX/OpenResty il y a 2 ans, et la configuration est devenue bien plus simple
    • J’utilisais lua-resty-auto-ssl, mais ce n’est plus le cas maintenant
    • Il encaisse sans problème 70�00 visiteurs par mois
  • Traefik est une excellente alternative

    • J’utilise v1 et v2 depuis plusieurs années, et je configure les services avec des labels Docker
 
xcutz 2025-02-18

Oh là là... 😳