Caddy (webový server) - Caddy (web server)
![]() | tento článek obsahuje obsah, který je napsán jako reklama.Červen 2020) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
![]() | |
Původní autoři | Matthew Holt |
---|---|
První vydání | 28.dubna 2015 |
Stabilní uvolnění | 2.2.1 / 13. října 2020[1] |
Úložiště | ![]() |
Napsáno | Jít[2] |
Operační systém | Android, Varianty BSD, Linux, Plán 9, OS X a Okna |
Typ | webový server, reverzní proxy server |
Licence | Apache 2 |
webová stránka | caddyserver![]() |
The Caddy webový server je open-source[3] webový server napsáno v Jít. Pro svou funkci HTTP používá standardní knihovnu Go[2] a podporuje HTTPS ihned po vybalení.[4][5][6]
Autor, Matthew Holt, začal vyvíjet Caddy v prosinci 2014 a vydal jej v dubnu 2015.[7] Od té doby na něm pracovalo více než dvě stě dalších vývojářů a přidala například podporu pro QUIC.
Caddy podporuje různé webové technologie a je k dispozici jako staticky kompilované binární soubory pro Microsoft Windows, Operační Systém Mac, Linux, Android a operační systémy BSD na x86-64, IA-32, a PAŽE architektury.
Schopnosti
Caddy může obsluhovat celou řadu technologií webových stránek, které mohou také fungovat jako reverzní proxy a nástroj pro vyrovnávání zatížení. Většina funkcí Caddy je implementace nalezená v knihovně Go, ale některá vylepšení jsou k dispozici jako middleware a vystaveny prostřednictvím směrnic v Caddyfile (textový soubor používaný ke konfiguraci Caddy).[8]
- HTTP / 1.1 (otevřený text HTTP), HTTP / 2 (výchozí pro připojení HTTPS) a od verze 2.0 beta 17 experimentální podpora pro HTTP / 3. [9]
- HTTPS, buď automaticky povoleno a spravováno, nebo ručně nakonfigurováno
- TLS 1.3 s dočasnou podporou starších protokolů[10]
- Indikace názvu serveru
- OCSP sešívání
- Virtuální hosting (více webů na stejném portu)[11]
- Rodák IPv4 a IPv6 Podpěra, podpora
- Poskytovat statické soubory (používá poslat soubor pokud je to možné)
- Ladný restart / opětovné načtení
- Reverzní proxy (HTTP nebo Webové zásuvky )
- Vyrovnávání zatížení s kontrolami stavu
- FastCGI proxy[12][13]
- Šablony (podobné Zahrnuje stranu serveru )
- Snížení vykreslování
- Společné rozhraní brány přes WebSockets
- Gzip komprese
- Základní ověřování přístupu
- Přepisování URL
- Přesměrování
- Procházení souborů
- Přístupové, chybové a procesní protokoly
- Experimentální RYCHLE Podpěra, podpora
Bezpečnostní
Caddy není náchylný k řadě rozšířených CVE počítaje v to Heartbleed, UTOPIT, PUDL, a BESTIE.[14] Caddy navíc používá TLS_FALLBACK_SCSV k zabránění útokům na downgrade protokolu.
2. června 2015 byla vydána verze 0.7.1, která opravuje chybu zabezpečení načasování útoků v základním ověřovacím middlewaru Caddy.[15]
Pokud jde o protokoly a šifrovací sady, Caddy používá TLS 1.0-1.2 a upřednostňuje ECDHE ECDSA s AES-256 GCM SHA-384, ačkoli je podporováno několik různých šifer. Caddy byl také používán Cloudflare jako platforma sloužící experimentální implementaci TLS 1.3.[16]
Tradiční deeskalace privilegií prováděná v programech C je netriviální nebo není v programech Go možná.[17]
Automatický HTTPS
Caddy ve výchozím nastavení aktivuje HTTPS pro weby s oprávněnými názvy domén (názvy, pro které lze certifikát TLS vyjednat prostřednictvím Protokol ACME ) a přesměruje požadavky HTTP na HTTPS.[18] Během spouštění získává certifikáty podle potřeby a udržuje je obnovené po celou dobu životnosti serveru. Pojďme šifrovat je výchozí certifikační autorita, ale uživatel může přizpůsobit použitou CA ACME, což je často nutné při testování konfigurací. Od 1. čtvrtletí 2016 představoval Caddy přibližně 2% certifikátů vydaných Let's Encrypt.[19]
Alternativní konfigurace umožňuje společnosti Caddy získávat certifikáty pouze podle potřeby během ověřování TLS, nikoli při spuštění, což je funkce přezdívaná „TLS na vyžádání“.[20] Chcete-li povolit tuto funkci, musí uživatel zadat maximální počet certifikátů, které lze vydat tímto způsobem. Když Caddy obdrží požadavek na název hostitele, pro který ještě nemá certifikát, vyjedná nový certifikát prostřednictvím ACME a okamžitě jej obslouží, přičemž získaný certifikát uloží do mezipaměti a uloží na disk. Tento proces obvykle trvá několik sekund a podléhá přísným omezením rychlosti.[20]
Při podávání protokolu TLS bude Caddy automaticky pravidelně otáčet klíči lístků relací, aby zachoval dokonalé tajemství vpřed.[21]
Telemetrie (v1)
Od verze 0.11 má Caddy telemetrii.[22] Toto je přihlášení (ve výchozím nastavení zakázáno) při stahování Caddy z oficiálních webových stránek a odhlášení (ve výchozím nastavení povoleno) při vytváření ze zdroje.[23]
Caddy v2 nemá žádnou telemetrii.[Citace je zapotřebí ]
Vliv
CoreDNS
Miek Gieben, původní vývojář CoreDNS, vytvořil jej z vidlice webového serveru Caddy, aby využil jednoduchou syntaxi konfigurace Caddy, architekturu zásuvných modulů a použití jazyka Go.[24]
Reference
- ^ „Zprávy“. Github. Citováno 19. října 2020.
- ^ A b Gerrand, Andrew (17. února 2016). „Vydána verze 1.6“. golang.org. Citováno 5. března 2016.
- ^ "Light Code Labs". lightcodelabs.com. Light Code Labs. Citováno 2019-09-15.
Caddy je otevřený a snadno použitelný webový server HTTP / 2 ...
- ^ Johnson, Brad (23. února 2016). „Lepší webový server s bezplatným SSL“. VolumeLabs.net. Citováno 5. března 2016.
- ^ „Automatic HTTPS with Caddy Server“. 18. prosince 2015. Citováno 5. března 2016.
- ^ Aas, Josh (12. února 2016). NYLUG Presents: Josh Aas on Let's Encrypt: A Free, Automated, and Open CA. Bloomberg. 32 minut dovnitř.
- ^ „Show HN: Caddy, a cross-platform HTTP / 2 web server“. news.ycombinator.com. 28.dubna 2015.
- ^ „Caddyfile“. Citováno 29. února 2016.
- ^ „Release 2.0 beta 17 · caddyserver / caddy“. Github. 2020-03-13. Citováno 2020-08-11.
- ^ "TLS - směrnice Caddy". Citováno 8. března 2016.
- ^ Benedetti, Benoit (listopad 2015). „Caddy, Le Serveur Web Facile“ [Caddy, snadný webový server]. GNU / Linux Magazine France (francouzsky). Francie.
- ^ "Jak nastavit [sic] webový server Caddy pomocí php-fpm". Archivovány od originál dne 18. 8. 2017. Citováno 2016-03-09.
- ^ Beke, Mathias (21. srpna 2015). „Caddy Server a WordPress (PHP-FPM)“.
- ^ „Test SSL serveru: caddyserver.com (Powered by Qualys SSL Labs)“. SSLLabs.com. Citováno 5. března 2016.
- ^ "Release 0.7.1 · mholt / caddy". 2. června 2015.
- ^ Nick Sullivan [@grittygrease] (4. března 2016). „Je postaven v Go pomocí vlastních verzí @ rlbarnes's Mint a @ mholt6's Caddy“ (Tweet) - prostřednictvím Cvrlikání.
- ^ „syscall: Setuid / Setgid se nevztahuje na všechna vlákna v systému Linux“. 21. ledna 2011. Citováno 5. března 2016.
- ^ „Automatický HTTPS“. Citováno 5. března 2016.
- ^ Eckersley, Peter (21. února 2016). USENIX Enigma 2016 - Několik hororových příběhů o šifrovaném webu. USENIX. 13 minut dovnitř.
- ^ A b „TLS na vyžádání“. Citováno 5. března 2016.
- ^ Kubacki, Mark (12. dubna 2016). "server: Otočit klíče lístku TLS'". Archivovány od originál dne 13. června 2019. Citováno 13. června 2019 - přes GitHub.
- ^ „Caddy 0.11 bude mít telemetrii“. Caddy. 2018-03-30. Citováno 2018-06-05.
- ^ „Caddy Telemetry - Documentation“. caddyserver.com. Citováno 20. února 2019.
- ^ Belamaric, John; Liu, Cricket (2019). "1. Úvod". Learning CoreDNS: Konfigurace DNS pro cloudová nativní prostředí (1. vyd.). ISBN 9781492047964. OCLC 1091363083. Co je CoreDNS ?.