Caddy (web server)

Caddie
Caddy 2 lock icon and wordmark logo.svg
Originalautor (en) Matthew Holt
Erstveröffentlichung 28. April 2015; vor 7 Jahren
Stabile Version
2.5.2 / 12 Juli 2022; Vor 26 Tagen[1]
Repository Github.com/caddyserver/Caddie
Geschrieben in gehen[2]
Betriebssystem BSD -Varianten, Linux, Plan 9, Mac OS und Fenster
Plattform IA-32 (i386), x86-64, ARM, MIPS, S390X
Typ Webserver, Reverse Proxy Server
Lizenz Apache 2
Webseite Caddyserver.com Edit this at Wikidata

Das Caddie Webserver ist ein erweiterbar,[3] plattformübergreifend,[4] Open Source[5] Webserver geschrieben in gehen.[6]

Der Name "Caddy" bezieht sich sowohl auf einen Helfer für mühsame Aufgaben als auch eine Möglichkeit, mehrere Teile in ein vereinfachtes System zu organisieren.[7] Im Kern ist Caddy ein erweiterbarer Plattform Für die Bereitstellung von langjährigen Diensten ("Apps") mit einer einzigen, einheitlichen Konfiguration, die online mit a aktualisiert werden kann SICH AUSRUHEN API.[8] Offizielle Caddy -Distributionsschiff mit einer Reihe von Standardmodulen, die enthalten Http Server, Tls Automatisierung und PKI Apps.[9] Es ist am besten für seine automatischen HTTPS -Funktionen bekannt.[10]

Matthew Holt begann 2014 zunächst die Solo -Entwicklung auf Caddy.[7] gefolgt von der ersten öffentlichen Veröffentlichung im Jahr 2015.[11][12] Die Software wurde bald zu einer öffentlichen Zusammenarbeit mit Hunderten von Mitwirkenden für Github.[13] Anforderungen einer wachsenden Gemeinschaft mit einer Vielzahl von einer Vielzahl von zu erfüllen AnwendungsfälleSchließlich wurde Caddy vollständig von Grund auf neu geschrieben, und eine Version 2.0 wurde am 4. Mai 2020 veröffentlicht.[14]

Caddie Binärdateien werden offiziell verteilt für Linux, Fenster, Mac OS, BSD, und andere Betriebssysteme in einer Vielzahl von einer Vielzahl von Architekturen einschließlich x86-64, ARM, MIPS, S390X, und PPC64.[15] Offizielle Verteilungen von 32-Bit Binärdateien wurden eingestellt, aber Caddy kann sein zusammengestellt aus Quelle zum IA-32 Architekturen.[16] Pakete für Debian, Centos, Roter Hut, und Arch Linux sind auch gewartet,[17] sowie ein Beamter Docker Bild.[18]

Die Architektur

Die Architektur von Caddy ist in drei Hauptkomponenten organisiert: a Befehl, der Kern Bibliothekund Konfigurationsmodule.[19] Der Befehl ist die erweiterbare Schnittstelle, durch die die Programm wird ausgeführt; es kann auch laden Konfigurationsdateienführen Sie gemeinsame Modi aus, verwalten Sie installierte Plugins und bieten Sie relevante Dienstprogrammfunktionen an. Die Kernbibliothek verfügt über APIs zum Laden, Entladen und Konfiguration verwalten; Aber es tut nichts besonders nützliches für sich. Der größte Teil von Caddys Funktionalität wird von bereitgestellt Module, die Plugins sind, die die Konfigurationsstruktur von Caddy erweitern; Zum Beispiel ist der HTTP -Server ein Modul.[20] CADDY-Module implementieren verschiedene langjährige Dienste, Webstandards und andere nützliche Funktionen.

Caddys Eingabe ist ein JSON -Konfigurationsdokument[21] die über eine offene Sockel über eine erholsame HTTP -API empfangen wird.[22][10] In Ermangelung eines HTTP -Clients, Caddy's Befehlszeilenschnittstelle Kann zum Laden von Konfigurationsdateien verwendet werden.[23] Konfigurationsadapter können verwendet werden, um andere Konfigurationsformate in die Konfiguration zu konvertieren JSON. Bestehende Adapter enthalten die CaddyFile, die in der Befehlszeile erstklassige Unterstützung bietet. und Yaml, Toml, Nginxund mehrere andere Formate.[24][10]

Wenn eine Konfiguration über ihren Verwaltungsbuchsen empfangen wird, decodiert Caddy die Konfiguration für alle angegebenen Module und startet alle App -Module aus.[10] Wenn die App -Module bereitgestellt werden, können sie selbst Module geladen und bereitstellen, die sie verwenden. Der HTTP -Server ist beispielsweise ein App -Modul, das HTTP -Handlermodule verwendet, um HTTP -Anforderungen zu verarbeiten. Diese Handler könnten noch andere Module verwenden, um ihre Funktionalität zu implementieren, und so weiter.[25] Alle diese Module werden während der Konfigurationslastphase bereitgestellt.[19]

Plugins werden installiert, indem sie statisch direkt in den Caddy -Binary zusammengestellt werden.[7][10] Ohne Plugins hat die native Konfigurationsstruktur von Caddy nur einige grundlegende Optionen für die Verwaltung und Protokollierung.[21] Alle anderen Funktionen müssen von App -Modulen bereitgestellt werden. Offizielles Caddy -Distributionsschiff mit Dutzenden von Standardmodulen;[9] Andere können von der Website des Projekts hinzugefügt werden.[15] Verwendung der XCADDY -Befehlszeilenwerkzeug, oder durch manuelles Kompilieren eines benutzerdefinierten Builds.[4]

HTTP -Server

Das HTTP -Server ist ein App -Modul, das standardmäßig mit offiziellen Caddy -Verteilungen ausgestattet ist.[20] Es wird hauptsächlich als statischer Dateiserver verwendet[26] und Lastausgleichs-Reverse-Proxy.[27] Während die Basis der HTTP -Funktionen von Caddy die Implementierung in der Standardbibliothek von GO verwenden,[28] Eine Vielzahl Verbesserungen und Anpassungen sind als erhältlich Middleware und durch Konfigurationsparameter entlarvt:[10]

  • Zugriff auf Protokollierung
  • Authentifizierung
  • Kompression (Gzip und Zstandard) oder andere Codierungen
  • Benutzerdefinierte Fehlerbehandlung
  • Verzeichnisbrowser (Dateiauflistungen in Ordnern anzeigen)
  • Fastcgi Weiterleitung
  • Hartcodierte HTTP-Antworten
  • HTTP leitet
  • Http/1.1, http/2 (Standard für Https) und http/3 (experimentell)
  • HTTP/2 Server -Druck
  • IPv4 und IPv6 Unterstützung
  • Markdown Rendering
  • Netzwerkschnittstelle Anpassung
  • Anfragen von Spielern
  • Anforderungsgrößengrenzen (Header und Körper)
  • Reverse Proxy mit Lastverteilung, Gesundheitskontrollen und Wiederholungen
  • Statische Dateien
  • Vorlagen (ähnlich wie Server-Seite enthält)
  • Zeitüberschreitungen
  • TLS standardmäßig (TLS 1.3, einschließlich vorübergehender Unterstützung für ältere Versionen)
  • URL umschreiben
  • Variablen und Karten
  • Virtuelle Hosts (mehrere Websites auf derselben Steckdose)
  • Websockets
  • Zero-Down-Time, anmutige Nachlade

Der HTTP -Server von Caddy bearbeitet Anforderungen gemäß konfigurierten Routen in einem Middleware -Muster. Routen sind in einer Liste definiert, und jede Route, die mit der Anforderung übereinstimmt, wird in der Reihenfolge der Middleware -Kette angewendet. Anforderungen können aus einer Vielzahl von Parametern abgestimmt werden, einschließlich HTTP -Methode, Hostname, Remoteadresse, Headerfelder, Pfad, Abfragezeichenfolge, Protokoll, variable Werte, Existenzdatei, CEL -Ausdrücke und anderen, wie durch Plugins gegeben. Sobald sie angepasst sind, werden Handlermodule aufgerufen, die unter anderem einen Dateiserver, einen Umschreiber -Middleware, den Reverse -Proxy, die Rate -Limiting, eine Header -Manipulation und die Rendering von Vorlagen enthalten können. Darüber hinaus können Routen definiert werden, um sich gegenseitig für andere Wege oder ein Terminal auszuschließen, das die Handlerkette beendet.

Standardmäßig wird TLS automatisch verwendet, wenn Routen einen nicht leeren Host-Match haben.[29] Es wird angenommen Standortnamen oder IP -Adressen Dieser Caddy dient, so dass Caddy automatisch Zertifikate für die Konfiguration beschafft und erneuert Hostnamen und IP -Adressen. Wenn automatische HTTPs auf diese Weise aktiviert werden, wird CADDY auch HTTP -Anforderungen an den äquivalenten HTTPS -Standort weiterleiten.

TLS -Automatisierung

Das TLS -App Kommt Standard mit offiziellen Caddy -Verteilungen. Es fungiert als TLS -Server und ist für die Automatisierung ausgelegt. Caddys TLS -Standardeinstellungen gelten als sicher und modern.[30] In Bezug auf die Sicherung Privatschlüssel, Caddy ist nicht anfällig für Sicherheitslücken für Gedächtnissicherheit wie Heartbleed, weil es in Go geschrieben ist.[31] Einer der primären Zwecke dieses Moduls ist das Laden von TLs Zertifikate in das Gedächtnis, damit ihnen TLS -Händeschläge vervollständigt werden können. Zertifikat- und Schlüsseldateien können manuell in den Server geladen werden, werden jedoch normalerweise durch Angeben von Betreffnamen automatisiert.[32] Wenn Caddy manuell geladen wird, hat sie sie nicht automatisch erneuert. Wenn diese App automatisiert ist, wird diese App automatisch ein Zertifikat für jeden Betreffnamen erhalten und erneuert. Ein bestimmtes Zertifikat wird gemäß der ersten Übereinstimmungsautomatisierungsrichtlinie für seinen Betreffnamen automatisiert (normalerweise a Domainname oder IP Adresse). Eine Automatisierungsrichtlinie besteht aus Emittenten und verschiedenen Zertifikat- und Verwaltungsoptionen wie Schlüsseltyp, wo das Zertifikat gespeichert werden soll, ob das Zertifikat "On-Demand" verwaltet wird und OCSP Optionen. Diese Automatisierungsfunktionen eignen sich sowohl für Serverzertifikate als auch für Client -Zertifikate. Wildcard -Zertifikate sind unterstützt.

Ein Emittent ist eine Quelle für ein Zertifikat und normalerweise eine GIPFEL Zertifizierungsstelle. Caddy unterstützt das ACME-Protokoll vollständig, einschließlich der Herausforderungen HTTP, TLS-ALPN und DNS, externer Kontobindung (EAB), mehreren Zertifikatketten und intelligenten Retyr-Heuristiken. Caddy kann auch ein eigener Emittent mit seinen eingebetteten PKI -Einrichtungen sein. Mehrere Emittenten können für Redundanz angegeben werden. Wenn man ein Zertifikat nicht anbietet, wird der nächste versucht.

TLS -Zertifikate können in einem konfigurierbaren Speicher -Backend gespeichert werden, das standardmäßig das lokale Dateisystem ist. Plugins gibt es für andere Arten von Speicher -Backends wie Datenbanken.[33] CADDY -Instanzen, die für die Verwendung desselben Speicher -Backend konfiguriert sind Cluster und Aktienzertifikat und OCSP -Vermögenswerte, einschließlich der Koordination der Erlangung und Erneuerung von Zertifikaten.

In der Regel werden Zertifikate beim Start verwaltet, wenn die Konfiguration geladen wird. Caddy unterstützt jedoch eine Art der Automatisierung, die genannt wird On-Demand TLS die Zertifikatoperationen bis zu dem Moment, in dem das Zertifikat während des TLS -Händedrucks benötigt wird. Dies eignet sich für Anwendungsfälle, in denen der Standortbesitzer die vom Server bediente Domänennamen nicht steuert.[34] Um in einem öffentlichen Netzwerk vor Missbrauch zu schützen, sollte der Site -Eigentümer einen Endpunkt konfigurieren, den Caddy abfragt, um zu fragen, ob ein Zertifikat für die angegebene Servernamenanzeige (SNI) im Handshake erhalten werden kann.

Caddy implementiert standardmäßig OCSP Stapling.[35] Alle geladenen Zertifikate, in denen ein OCSP -Responder in der Erweiterung der Autoritätsinformationszugriffsgeräte angegeben ist, werden nach Bedarf ihre OCSP -Antwort angehindert, zwischengespeichert und automatisch aktualisiert.[36] Wenn eine OCSP -Antwort einen Status von widerrufen für ein verwaltetes Zertifikat angibt, versucht Caddy automatisch, das Zertifikat durch ein neues zu ersetzen.

Bei TLS dreht sich CADDY automatisch regelmäßig die Sitzungsticketschlüssel, um eine perfekte Vorwärtshöre zu erhalten.[37][38] Diese Schlüssel können auch in einem konfigurierbaren Backend gespeichert und von einer Gruppe von Instanzen für eine verbesserte Leistung auf verteilte Weise verwendet werden.

PKI -Einrichtungen

Das PKI App Kommt Standard mit offiziellen Caddy -Verteilungen. Sein Hauptzweck ist es, die Zertifikatbehörden (CAS) zu verwalten, die Zertifikate unterzeichnen können. Jede CA besteht aus einem Wurzel- und Zwischenschlüsselpaar, das für die Speicherung anhält. Die CA -Kennung, der gebräuchliche Name und die Schlüsselinformationen können in der Konfiguration dieses Moduls angepasst werden. Diese App wird hauptsächlich von anderen Modulen verwendet, wenn selbstsignierte Zertifikate benötigt werden.[39]

Finanzielle Unterstützung

Bis 2016 arbeitete Caddy vollständig durch freiwillige Bemühungen ohne finanzielle Unterstützung und nahm legende Spenden von der Website einfach an.[40] Als die Gemeinschaft wuchs und die Forderung nach Entwicklungszeit und Infrastruktur zunahm, wurde festgestellt, dass das Projekt finanziert werden musste.[41] Light Code Labs, LLC wurde zur juristischen Einheit hinter Caddy gegründet. Mit rechtlicher Legitimität kam die erste Form der finanziellen Unterstützung von a Mozilla Open Source Support (MOSS) -Programmpreis im Jahr 2016.[42] Dies lieferte die Finanzierung von 6 Monaten Entwicklungsarbeit und war für Caddys Wachstum in diesem Stadium von entscheidender Bedeutung.[43]

Nach langfristiger Nachhaltigkeit suchte Light Code Labs bald zwei optionale Produkte für Unternehmen und Fachkräfte: das Engineering-Paket und das Sponsoring, das den Kunden Zugang zu Entwicklerressourcen und Werbung für Kunden gewährte.[44] Mit nur geringem Erfolg wurde beschlossen, dass die Ausarbeitung dieser Produkte zugunsten der Verteilung offizieller Binärdateien für die kommerzielle Nutzung im Rahmen einer proprietären Lizenz die Nachhaltigkeit erhöhen könnte, indem Unternehmen das Recht zur Verwendung von speziell angegebenen, vorgefertigten Caddy-Binärdateien dafür veranlassen, das Recht zu bezahlen betrieben ihr Geschäft.[45] Dies würde den Quellcode von Caddy unter dem lassen Apache -Lizenz Für jeden kann es frei verwenden, während sie dennoch eine finanzielle Unterstützung von fähigen Unternehmen als Kunden erlangen können.

Obwohl nachhaltiger, wurde dieser Ansatz mit Verachtung weit verbreitet und in den nächsten Jahren Verwirrung und Kontroversen begegnet.[46][47][48][49][50] Die Produktangebote wurden angepasst, um die Begriffe zu klären, den Respekt der Community zu gewinnen und den kommerziellen Sektor besser zu erfassen.[51] Im Jahr 2019 haben Light Code Labs eine Partnerschaft mit Ardan Studios geschlossen, um eine brandneue Version von Caddy zu entwerfen und zu erstellen, die in Enterprise-Umgebungen leichter verwendet werden könnte: Caddy Enterprise.[52] Am 3. Oktober 2019 kündigten die beiden Unternehmen jedoch Pläne an[53] Um stattdessen alle Pläne für gewerbliche Lizenzen zurückzuversetzen, einschließlich:

  • Bestätigung, dass Caddy weiterhin ein Apache-lizenziertes Open-Source-Projekt sein wird und immer war,
  • Abliegen aller proprietären Lizenzierung und Entfernung der Geschäftsbenutzungsbeschränkungen der Geschäftsanwälte von offiziellen Binärdateien,
  • Pläne für nur Unternehmensfunktionen fallen lassen,
  • Umbenennung der neuen Version von Caddy einfach als Caddy 2,
  • und eliminieren Sie alle anderen Produkte, Abonnements und Dienstleistungen nur vorhandener Unternehmen.

Ardan Studios würde Unternehmen professionelle Schulungen, Caddy-Entwicklung und Unternehmensunterstützung anbieten und für fast ein Jahr finanziert werden für eine Vollzeit-Open-Source-Entwicklung des Caddy-Projekts.[54] Kurz vor der ersten Veröffentlichung von Caddy 2 wurde eine Vereinbarung von Light Code Labs und Ardan Studios für das CADDY -Projekt unterzeichnet (zusammen mit Certmagic, Caddys Kern -TLS -Automatisierungsbibliothek), die von API Layer, GmbH (später Stack Holdings, GmbH) erfasst werden soll.[55] Die Übertragung des Eigentums wurde später in diesem Jahr im September 2020 zusammen mit einem zweijährigen Entwicklungsvertrag angekündigt.[56] Dieser Austausch veränderte den Open -Source -Status oder den Entwicklungszyklus des Projekts nicht.

Ab 2021 wird die notwendige finanzielle Unterstützung für das Caddy -Projekt weiter fortgesetzt Sponsoring durch GitHub Sponsoren sind mit Zerosl (einem Stack Holdings -Unternehmen) der Hauptsponsor der Executive.[57]

Beeinflussen

Caddy wurde als Grundlage für andere Softwareprojekte und kommerzielle Dienstleistungen verwendet, und seine Reichweite erstreckt sich auf akademische Forschungs- und Branchendiskussionen.

Coredns wurde von Miek Gieben aus einer Gabel von Caddy V1 erstellt, die modifiziert wurde, um DNS anstelle von HTTPS zu servieren.[58] Es nutzte Caddys CaddyFile -Konfigurationsformat, Plugin -Architektur und Verwendung der GO -Sprache.[59]

Wolkenflare implementiert a Maschinell in der Mitte (MITM) Erkennungsdienst, der ursprünglich auf CADDY unter Verwendung seiner nativen MITM -Erkennungsfunktionen basiert.[60][61] Das gleiche Unternehmen verwendete auch Caddy, um eine experimentelle TLS 1.3 -Implementierung zu betreuen, während er an der Bildung der endgültigen TLS 1.3 -Spezifikation teilnahm.[62][63]

Lassen Sie uns verschlüsseln Betrachtet Caddys Implementierung von ACME als Goldstandard von ACME -Clients, und Caddy ist zu einem Modell für ähnliche Software geworden, das sie folgen sollen.[64][30]

Caddy hat an einer Reihe von akademischen Papieren teilgenommen und verschiedene Internetforschung ermöglicht. Es wurde in Bezug auf:

  • Validierung der Machbarkeit des ACME -Protokolls auf Produktionsservern,[30]
  • Bereitstellung von Quic, Internetmaßstab,[65]
  • ein Testframework für Cloud -Failover -Mechanismen,[66]
  • Messung des Sicherheitsschadens von TLS -Kryptographie -Verknüpfungen,[67]
  • Befürwortung des Falls für Secure-by-Default-TLs,[68]
  • und Verbesserung der Verwendbarkeit des Bereitstellens von HTTPs.[35]

Verweise

  1. ^ "Github veröffentlicht". Github veröffentlicht. Abgerufen 2022-07-12.
  2. ^ Gerrand, Andrew (17. Februar 2016). "Go 1.6 wird veröffentlicht". golang.org. Abgerufen 5. März 2016.
  3. ^ "Caddy - Caddy -Dokumentation erweitern". caddyserver.com. Archiviert vom Original am 2020-05-06. Abgerufen 2021-09-27.
  4. ^ a b "Erstellen Sie aus Quelle - Caddy -Dokumentation". caddyserver.com. Archiviert vom Original am 2020-05-29. Abgerufen 2021-09-27.
  5. ^ LIZENZ, Caddyserver/Caddy auf Github, 2021-09-27, abgerufen 2021-09-27
  6. ^ "Go 1.6 wird veröffentlicht - go.dev". Go.dev. Abgerufen 2021-09-27.
  7. ^ a b c Readme.md, Caddyserver/Caddy auf Github, 2021-09-27, abgerufen 2021-09-27
  8. ^ "Willkommen - Caddy -Dokumentation". caddyserver.com. Archiviert vom Original am 2015-05-02. Abgerufen 2021-09-27.
  9. ^ a b imports.go, Caddyserver/Caddy auf Github, 2021-09-27, abgerufen 2021-09-27
  10. ^ a b c d e f Woodbeck, Adam (2021). Netzwerkprogrammierung mit GO: Code sichere und zuverlässige Netzwerkdienste von Grund auf neu. San Francisco, CA. S. 217–239. ISBN 978-1-7185-0088-4. OCLC 1198449668.
  11. ^ "Release 0.5.0 · Caddyserver/Caddy". GitHub. Abgerufen 2021-09-27.
  12. ^ "Show HN: Caddy, ein plattformübergreifender HTTP/2-Webserver | Hacker News". news.ycombinator.com. Abgerufen 2021-09-27.
  13. ^ "Mitwirkende zu Caddyserver/Caddy". GitHub. Abgerufen 2021-09-27.
  14. ^ "Release v2.0.0 · Caddyserver/Caddy". GitHub. Abgerufen 2021-09-27.
  15. ^ a b "Caddy herunterladen". caddyserver.com. Archiviert vom Original am 2015-05-02. Abgerufen 2021-09-27.
  16. ^ "Erstellen Sie aus Quelle - Caddy -Dokumentation". caddyserver.com. Archiviert vom Original am 2020-05-29. Abgerufen 2021-09-27.
  17. ^ "Installation - Caddy -Dokumentation". caddyserver.com. Archiviert vom Original am 2020-05-06. Abgerufen 2021-09-27.
  18. ^ "Caddy - Offizielles Bild". Docker Hub. Archiviert vom Original am 2020-04-14. Abgerufen 2021-09-27.
  19. ^ a b "Architektur - Caddy -Dokumentation". caddyserver.com. Archiviert vom Original am 2020-04-14. Abgerufen 2021-09-27.
  20. ^ a b "Modul HTTP - CADDY -Dokumentation". caddyserver.com. Archiviert vom Original am 2020-05-06. Abgerufen 2021-09-27.
  21. ^ a b "JSON -Konfigurationsstruktur - Caddy -Dokumentation". caddyserver.com. Archiviert vom Original am 2020-04-14. Abgerufen 2021-09-27.
  22. ^ "API - Caddy -Dokumentation". caddyserver.com. Archiviert vom Original am 2020-03-02. Abgerufen 2021-09-27.
  23. ^ "Befehlszeile - Caddy -Dokumentation". caddyserver.com. Archiviert vom Original am 2020-03-02. Abgerufen 2021-09-27.
  24. ^ "Konfigurationsadapter - Caddy -Dokumentation". caddyserver.com. Archiviert vom Original am 2020-04-14. Abgerufen 2021-09-27.
  25. ^ Holt, Matthew (2019-12-04), Die technischen Herausforderungen von Langzeitprogrammen, Forge Utah, abgerufen 2021-09-27
  26. ^ "Statische Dateien Schnellstart - Caddy -Dokumentation". caddyserver.com. Archiviert vom Original am 2020-05-08. Abgerufen 2021-09-27.
  27. ^ "Reverse Proxy Quick -Start - Caddy -Dokumentation". caddyserver.com. Archiviert vom Original am 2020-05-08. Abgerufen 2021-09-27.
  28. ^ Holt, Matthew (2015-05-27). "Ein Blick in Caddy, einen Webserver in Go". blog.gopheracademy.com. Archiviert vom Original am 2015-05-30. Abgerufen 2021-09-27.
  29. ^ "Automatische HTTPS - CADDY -Dokumentation". caddyserver.com. Archiviert vom Original am 2016-03-04. Abgerufen 2021-09-27.
  30. ^ a b c AAS, Josh; Barnes, Richard; Fall, Benton; Durumeric, Zakir; Eckersley, Peter; Flores-López, Alan; Halderman, J. Alex; Hoffman-Andrews, Jacob; Kasten, James; Rescorla, Eric; Schön, Seth (2019-11-06). "Lassen Sie uns verschlüsseln: Eine automatisierte Zertifikatberechtigung, um das gesamte Web zu verschlüsseln". Verfahren der ACM SIGSAC -Konferenz 2019 über Computer- und Kommunikationssicherheit. London Großbritannien: ACM: 2473–2487. doi:10.1145/3319535.3363192. ISBN 978-1-4503-6747-9.
  31. ^ Internet Security Research Group. "Was ist Speichersicherheit und warum ist es wichtig?". Prossimo. Archiviert vom Original am 2021-06-18. Abgerufen 2021-09-27.
  32. ^ "Modul tls.certificates.automat - Caddy -Dokumentation". caddyserver.com. Archiviert vom Original am 2021-09-27. Abgerufen 2021-09-27.
  33. ^ "Speicherimplementierungen · CaddyServer/CertMagic Wiki". GitHub. Abgerufen 2021-09-27.
  34. ^ Ellis, Jack (2020-06-10). "So fügen Sie Laravel Dampf unbegrenzte benutzerdefinierte Domänen hinzu". Laravel News. Archiviert vom Original am 2020-06-10. Abgerufen 2021-09-27.
  35. ^ a b Krombholz, Katharina; Mayer, Wilfried; Schmiezer, Martin; Weieuppl, Edgar (2017). ""Ich habe keine Ahnung, was ich tue" - über die Benutzerfreundlichkeit, HTTPS bereitzustellen ". 26. Usenix Security Symposium Usenix Security 17: 1339–1356. ISBN 978-1-931971-40-9.
  36. ^ Bock, Hanno (2020-09-16). "Nach dem, was ich weiß, macht Caddy es auch richtig". Twitter. Archiviert vom Original am 2020-09-16. Abgerufen 2021-09-27.
  37. ^ Rutishauser, Dobin. "Über TLS Perfect Forward Secrecy und Session Resumption - Compass Security Blog". Archiviert vom Original am 2020-09-30. Abgerufen 2021-09-27.
  38. ^ Taubert, Tim. "Die Zukunft der Wiederaufnahme der Sitzung - Sicherungspsk -Schlüsselvereinbarung in TLS 1.3.". timtaubert.de. Archiviert vom Original am 2017-02-16. Abgerufen 2021-09-27.
  39. ^ Malone, Mike (2019-09-17). "Führen Sie Ihren eigenen privaten CA- und ACME-Server mit Step-CA aus".. Smallstep. Archiviert vom Original am 2019-09-17. Abgerufen 2021-09-27.
  40. ^ "Caddy herunterladen". 2016-03-10. Archiviert von das Original am 2016-03-10. Abgerufen 2021-09-27.
  41. ^ "Ist Caddy frei?". 2017-09-18. Archiviert von das Original Am 2017-09-18. Abgerufen 2021-09-27.
  42. ^ "Mozilla verleiht Open Source -Projekte im Rahmen des Moss" Mission Partners "Programm | The Mozilla Blog" The Mozilla Blog ".. blog.mozilla.org. Abgerufen 2021-09-27.
  43. ^ "Caddys Moos -Erfahrung". 2018-11-23. Archiviert von das Original Am 2018-11-23. Abgerufen 2021-09-27.
  44. ^ "Einführung von Optionen für Unternehmen". 2017-04-22. Archiviert von das Original Am 2017-04-22. Abgerufen 2021-09-27.
  45. ^ "Ankündigung von Caddy Commercial Lizenzen". 2018-11-23. Archiviert von das Original Am 2018-11-23. Abgerufen 2021-09-27.
  46. ^ "Caddy Commercial -Lizenzen ankündigen | Hacker News". news.ycombinator.com. Abgerufen 2021-09-27.
  47. ^ Gangwere, Morgan (2019-04-30). "Lass uns von Slime Sourcing wegkommen". Hackernoon.com. Abgerufen 2021-09-27.
  48. ^ "Caddy und die Bedeutung von Lizenzen - Roberto Selbach". Abgerufen 2021-09-27.
  49. ^ "CADDY -Vorschlag: Ändern Sie die gesamte proprietäre Lizenzierung dauerhaft in Open Source | Hacker News". news.ycombinator.com. Abgerufen 2021-09-27.
  50. ^ "Sgt__kabukiman auf Twitter". Twitter. Archiviert vom Original am 2021-09-27. Abgerufen 2021-09-27.
  51. ^ "Caddy 0.10.10 zusammen mit der neuen Preisstruktur veröffentlicht". 2017-10-09. Archiviert von das Original Am 2017-10-09. Abgerufen 2021-09-27.
  52. ^ "Caddy 1.0, Caddy 2 und Caddy Enterprise ankündigen". 2019-04-25. Archiviert von das Original Am 2019-04-25. Abgerufen 2021-09-27.
  53. ^ "Vorschlag: Ändern Sie die gesamte proprietäre Lizenzierung dauerhaft in Open Source · Ausgabe #2786 · Caddyserver/Caddy". GitHub. Abgerufen 2021-09-27.
  54. ^ "Caddy Partnerschaft mit Light Code Labs". www.ardanlabs.com. Abgerufen 2021-09-27.
  55. ^ "Caddy und Certmagic haben neue Eigentum; keine Änderungen an Lizenzierung oder Entwicklung". Caddy -Community. 2020-09-10. Abgerufen 2021-09-27.
  56. ^ "Caddy Server von Apilayer erfasst". www.ardanlabs.com. Abgerufen 2021-09-27.
  57. ^ "Sponsor @mholt über Github -Sponsoren". GitHub. Abgerufen 2021-09-27.
  58. ^ Verständnis Coredns in Kubernetes - John Belamaric, Google & Cricket Liu, Francois Tur, Infoblox, abgerufen 2021-09-27
  59. ^ Belamaric, John (2019). Lernen Coredns: Konfigurieren von DNS für native Cloud -Umgebungen. Cricket Liu (First Ed.). Sebastopol, CA. ISBN 9781492047964. OCLC 1119557722.
  60. ^ TLS 1.3 in Ihrem Webbrowser, Cloudflare, 2021-01-19, abgerufen 2021-09-27
  61. ^ "Monster in den Middleboxes: Einführung von zwei neuen Tools zum Erkennen von HTTPS -Abfangen". Der Cloudflare -Blog. 2019-03-18. Abgerufen 2021-09-27.
  62. ^ Nick Sullivan [@grittyGrease] (4. März 2016). "Es ist in GO mit benutzerdefinierten Versionen @rlbarnes Mint und @Mholt6s Caddy eingebaut." (Tweet) - über Twitter.
  63. ^ Sullivan, Nick (2017-12-26). "Warum TLS 1.3 noch nicht in Browsern ist". Der Cloudflare -Blog. Archiviert vom Original am 2017-12-26. Abgerufen 2021-09-27.
  64. ^ Nylug präsentiert: josh aas - on - lass uns verschlüsseln: eine kostenlose, automatisierte und offene ca., abgerufen 2021-09-27
  65. ^ Rüth, Jan; Poese, Ingmar; Dietzel, Christoph; Hohlfeld, Oliver (2018), Beverly, Robert; Smaragdakis, Georgios; Feldmann, Anja (Hrsg.), "Ein erster Blick auf Quic in freier Wildbahn", Passive und aktive Messung, Cham: Springer International Publishing, Vol. 10771, S. 255–268, Arxiv:1801.05168, doi:10.1007/978-3-319-76481-8_19, ISBN 978-3-319-76480-1, S2CID 3631501, abgerufen 2021-09-27
  66. ^ Vaněček, Štěpán (2016-03-02). "Testframework für Cloud -Failover -Mechanismen" (PDF). Tschechische Technische Universität in Prag, Fakultät für Informationstechnologie Thesen.
  67. ^ Springall, Drew; Durumeric, Zakir; Halderman, J. Alex (2016-11-14). "Messung des Sicherheitsschadens von TLS -Krypto -Verknüpfungen". Verfahren der Internetmesskonferenz 2016. Santa Monica California USA: ACM: 33–47. doi:10.1145/2987443.2987480. ISBN 978-1-4503-4526-2.
  68. ^ Stanek, Martin (2017-08-24). "Sicherlich sicher - der Fall von TLS". Arxiv:1708.07569 [cs.cr].

Externe Links