
Serveur web HTTP/1-2-3 multi-plateforme rapide et extensible avec HTTPS automatique
Caddy est une plateforme serveur extensible qui utilise TLS par défaut.
La façon la plus simple et multiplateforme de commencer est de télécharger Caddy depuis GitHub Releases et de placer le fichier exécutable dans votre PATH.
Voir notre documentation en ligne pour d'autres instructions d'installation.
Prérequis :
Note : Ces étapes n'intégreront pas les informations de version appropriées. Pour cela, veuillez suivre les instructions de la section suivante.
$ git clone "https://github.com/caddyserver/caddy.git"
$ cd caddy/cmd/caddy/
$ go build
Lorsque vous exécutez Caddy, il peut essayer de se lier à des ports bas sauf indication contraire dans votre configuration. Si votre système d'exploitation nécessite des privilèges élevés pour cela, vous devrez donner à votre nouveau binaire la permission de le faire. Sur Linux, cela peut être fait facilement avec : sudo setcap cap_net_bind_service=+ep ./caddy
Si vous préférez utiliser go run qui ne crée que des binaires temporaires, vous pouvez toujours le faire avec le script setcap.sh inclus comme ceci :
$ go run -exec ./setcap.sh main.go
Si vous ne voulez pas taper votre mot de passe pour setcap, utilisez sudo visudo pour éditer votre fichier sudoers et permettre à votre compte utilisateur d'exécuter cette commande sans mot de passe, par exemple :
username ALL=(ALL:ALL) NOPASSWD: /usr/sbin/setcap
en remplaçant username par votre nom d'utilisateur réel. Soyez prudent et ne faites cela que si vous savez ce que vous faites ! Nous sommes seulement qualifiés pour documenter comment utiliser Caddy, pas les outils Go ou votre ordinateur, et nous fournissons ces instructions uniquement pour votre commodité ; veuillez apprendre à utiliser votre propre ordinateur à vos propres risques et apportez les ajustements nécessaires.
Ensuite, vous pouvez exécuter les tests dans tous les modules ou un module spécifique :
$ go test ./...
$ go test ./modules/caddyhttp/tracing/
En utilisant notre outil de construction, xcaddy...
$ xcaddy build
...les étapes suivantes sont automatisées :
mkdir caddycd caddygo mod init caddygo get github.com/caddyserver/caddy/v2@version en remplaçant version par un tag git, un commit ou un nom de branche._ "import/path/here"go build -tags=nobadger,nomysql,nopgxLe site web de Caddy propose une documentation qui comprend des tutoriels, des guides de démarrage rapide, des références, et plus encore.
Nous recommandons à tous les utilisateurs, quel que soit leur niveau d'expérience, de suivre notre guide Getting Started pour se familiariser avec l'utilisation de Caddy.
Si vous n'avez qu'une minute, le site web propose plusieurs tutoriels de démarrage rapide parmi lesquels choisir ! Cependant, après avoir terminé un tutoriel de démarrage rapide, veuillez lire plus de documentation pour comprendre comment le logiciel fonctionne. 🙂
Caddy est le plus souvent utilisé comme un serveur HTTPS, mais il convient à tout programme Go de longue durée. Avant tout, c'est une plateforme pour exécuter des applications Go. Les "apps" Caddy sont simplement des programmes Go implémentés comme modules Caddy. Deux applications -- tls et http -- sont livrées en standard avec Caddy.
Les applications Caddy bénéficient instantanément d'une documentation automatisée, de modifications de configuration en ligne élégantes via l'API, et de l'unification avec d'autres applications Caddy.
Bien que JSON soit le langage de configuration natif de Caddy, Caddy peut accepter des entrées provenant d'adaptateurs de configuration qui peuvent essentiellement convertir n'importe quel format de configuration de votre choix en JSON : Caddyfile, JSON 5, YAML, TOML, configuration NGINX, et plus encore.
La principale façon de configurer Caddy est via son API, mais si vous préférez les fichiers de configuration, l'interface en ligne de commande les prend également en charge.
Caddy expose un niveau de contrôle sans précédent par rapport à tout serveur web existant. Dans Caddy, vous définissez généralement les valeurs réelles des types initialisés en mémoire qui alimentent tout, de vos gestionnaires HTTP et poignées de main TLS à votre support de stockage. Caddy est également ridiculement extensible, avec un puissant système de plugins qui apporte des améliorations considérables par rapport aux autres serveurs web.
Pour maîtriser la puissance de cette conception, vous devez savoir comment le document de configuration est structuré. Veuillez consulter notre site de documentation pour plus de détails sur la structure de configuration de Caddy.
Presque toute la configuration de Caddy est contenue dans un seul document de configuration, plutôt que d'être dispersée entre les drapeaux CLI, les variables d'environnement et un fichier de configuration comme avec les autres serveurs web. Cela rend la gestion de la configuration de votre serveur plus directe et réduit les variables/facteurs cachés.
Notre site web propose une documentation complète :
La documentation est également open source. Vous pouvez y contribuer ici : https://github.com/caddyserver/website
Nous conseillons aux entreprises utilisant Caddy de souscrire un contrat de support via Ardan Labs avant que de l'aide ne soit nécessaire.
Un sponsoring va très loin ! Nous pouvons offrir une aide privée aux sponsors. Si Caddy bénéficie à votre entreprise, veuillez envisager un sponsoring. Cela permet non seulement de financer un travail à temps plein pour assurer la longévité du projet, mais cela fournit également à votre entreprise les ressources, le support et les réductions dont vous avez besoin ; en plus d'être une excellente image pour votre entreprise auprès de vos clients et clients potentiels !
Les particuliers peuvent échanger de l'aide gratuitement sur notre forum communautaire à https://caddy.community. Rappelez-vous que les gens donnent de l'aide sur leur temps libre et par bonne volonté. La meilleure façon d'obtenir de l'aide est d'en donner d'abord !
Veuillez utiliser notre suivi des problèmes uniquement pour les rapports de bugs et les demandes de fonctionnalités, c'est-à-dire les éléments de développement exploitables (les questions de support seront généralement redirigées vers les forums).
Matthew Holt a commencé à développer Caddy en 2014 alors qu'il étudiait l'informatique à l'Université Brigham Young. (Le nom "Caddy" a été choisi car ce logiciel aide à accomplir les tâches fastidieuses et banales du service Web, et constitue également un endroit unique pour organiser plusieurs choses ensemble.) Il est rapidement devenu le premier serveur web à utiliser HTTPS automatiquement et par défaut, et compte aujourd'hui des centaines de contributeurs et a servi des billions de requêtes HTTPS.
Le nom "Caddy" est une marque déposée. Le nom du logiciel est "Caddy", pas "Caddy Server" ou "CaddyServer". Veuillez l'appeler "Caddy" ou, si vous souhaitez clarifier, "le serveur web Caddy". Caddy est une marque déposée de Stack Holdings GmbH.
Caddy est un projet de ZeroSSL, une société HID Global.
L'hébergement du dépôt de paquets Debian est gracieusement fourni par Cloudsmith. Cloudsmith est la seule solution de gestion de paquets universelle, entièrement hébergée et native du cloud, qui permet à votre organisation de créer, stocker et partager des paquets dans n'importe quel format, vers n'importe quel endroit, en toute confiance.