
caddy v2.11.7
Schneller und erweiterbarer Multiplattform-HTTP/1-2-3-Webserver mit automatischem HTTPS
ein
Projekt
Jede Website über HTTPS
Caddy ist eine erweiterbare Serverplattform, die standardmäßig TLS verwendet.
Releases · Dokumentation · Hilfe erhalten
Menü
- Funktionen
- Installation
- Aus dem Quellcode erstellen
- Schnellstart
- Überblick
- Vollständige Dokumentation
- Hilfe erhalten
- Über
Funktionen
- Einfache Konfiguration mit der Caddyfile
- Leistungsstarke Konfiguration mit ihrer nativen JSON-Konfiguration
- Dynamische Konfiguration mit der JSON-API
- Konfigurationsadapter, falls Sie JSON nicht mögen
- Automatisches HTTPS standardmäßig
- ZeroSSL und Let's Encrypt für öffentliche Namen
- Vollständig verwaltete lokale CA für interne Namen und IPs
- Kann mit anderen Caddy-Instanzen in einem Cluster koordiniert werden
- Multi-Issuer-Fallback
- Unterstützung für Encrypted ClientHello (ECH)
- Bleibt verfügbar, wenn andere Server ausfallen aufgrund von TLS-/OCSP-/Zertifikatsproblemen
- Produktionsreif nach der Bearbeitung von Billionen von Anfragen und der Verwaltung von Millionen von TLS-Zertifikaten
- Skaliert auf Hunderttausende von Websites, wie in der Produktion bewiesen
- HTTP/1.1, HTTP/2 und HTTP/3 werden standardmäßig unterstützt
- Hochgradig erweiterbar dank modularer Architektur, die Caddy alles ermöglicht, ohne aufgebläht zu sein
- Läuft überall mit keinen externen Abhängigkeiten (nicht einmal libc)
- Geschrieben in Go, einer Sprache mit höheren Speichersicherheitsgarantien als andere Server
- Macht tatsächlich Spaß bei der Verwendung
- Es gibt noch so viel mehr zu entdecken
Installation
Der einfachste, plattformübergreifende Weg zum Einstieg ist, Caddy von den GitHub Releases herunterzuladen und die ausführbare Datei in Ihren PATH zu legen.
Weitere Installationsanweisungen finden Sie in unserer Online-Dokumentation.
Aus dem Quellcode erstellen
Voraussetzungen:
Für die Entwicklung
Hinweis: Diese Schritte binden keine ordnungsgemäßen Versionsinformationen ein. Befolgen Sie dazu bitte die Anweisungen im nächsten Abschnitt.
$ git clone "https://github.com/caddyserver/caddy.git"
$ cd caddy/cmd/caddy/
$ go build
Wenn Sie Caddy ausführen, versucht es möglicherweise, sich an niedrige Ports zu binden, sofern in Ihrer Konfiguration nichts anderes angegeben ist. Wenn Ihr Betriebssystem dafür erhöhte Rechte erfordert, müssen Sie Ihrem neuen Binary die Berechtigung dazu erteilen. Unter Linux kann dies einfach mit sudo setcap cap_net_bind_service=+ep ./caddy erfolgen.
Wenn Sie go run bevorzugen, das nur temporäre Binaries erstellt, können Sie dies trotzdem mit dem mitgelieferten setcap.sh wie folgt tun:
$ go run -exec ./setcap.sh main.go
Wenn Sie Ihr Passwort nicht für setcap eingeben möchten, verwenden Sie sudo visudo, um Ihre sudoers-Datei zu bearbeiten und Ihrem Benutzerkonto zu erlauben, diesen Befehl ohne Passwort auszuführen, zum Beispiel:
username ALL=(ALL:ALL) NOPASSWD: /usr/sbin/setcap
wobei Sie username durch Ihren tatsächlichen Benutzernamen ersetzen. Bitte seien Sie vorsichtig und tun Sie dies nur, wenn Sie wissen, was Sie tun! Wir sind nur qualifiziert zu dokumentieren, wie man Caddy verwendet, nicht die Go-Tooling oder Ihren Computer, und wir stellen diese Anweisungen nur zur Bequemlichkeit bereit; bitte lernen Sie, Ihren eigenen Computer auf eigenes Risiko zu verwenden, und nehmen Sie alle notwendigen Anpassungen vor.
Dann können Sie die Tests in allen Modulen oder in einem bestimmten ausführen:
$ go test ./...
$ go test ./modules/caddyhttp/tracing/
Mit Versionsinformationen und/oder Plugins
Mit unserem Builder-Tool xcaddy...
$ xcaddy build
...werden die folgenden Schritte automatisiert: