fbpx
维基百科

Caddy

Caddy服务器(或称Caddy Web)是一个开源的,使用 Golang 编写,支持 HTTP/2 的 Web 服务端。它使用 Golang 标准库提供 HTTP 功能。

Caddy
原作者Matthew Holt
首次发布2015年4月28日,​8年前​(2015-04-28
当前版本
  • 2.7.4 (2023年8月17日;穩定版本)[1]
源代码库
  • github.com/caddyserver/caddy
编程语言Go
操作系统AndroidBSD variantsLinuxOS XWindows
类型Web服务器, 反向代理服务器
许可协议Apache许可证2.0
网站官方网站

Caddy 一个显著的特性是默认启用 HTTPS[2][3]它是第一个无需额外配置即可提供 HTTPS 特性的 Web 服务器。[4]

作者 Matt Holt 于 2014 年 12 月开始开发 Caddy ,并于 2015 年 4 月发布第一个版本。[5] 在发布后的一年里,它的下载量超过了 20000 次,并在 GitHub 上获得了 4500 个 Star。[6]

Caddy 支持各种 Web 技术,提供静态编译的二进制文件,支持 i386amd64ARM 架构上的 WindowsMacLinuxAndroidBSD 操作系统。

功能 编辑

Caddy 可以提供各种网站技术,它也可以作为反向代理和负载均衡器。Caddy 的大部分功能都以中间件的形式实现,并通过 Caddyfile 中的指令(用于配置 Caddy 的文本文件)进行控制。[7]

安全 编辑

Caddy 免于很多已知的 CVEs 攻击 (包括 Heartbleed, DROWN, POODLE, 和 BEAST[12],另外, Caddy 使用 TLS_FALLBACK_SCSV 以防止协议降级攻击。

2015 年 6 月 2 日,版本 0.7.1 修复了 Caddy 简单服务器鉴权中间件中时间欺诈攻击的漏洞。[13]

关于协议和密码套件,Caddy 使用 TLS 1.0-1.2,并且倾向于 ECDHE ECDSA 与 AES256-GCM-SHA384,支持十几种不同的加密方式。Cloudflare 已经使用了 Caddy 作为 TLS 1.3 的实现方案。[14]

传统的特权降级无法工作在 Golang 程序上。[15] 为了绑定低于 1024 的端口, Caddy 必须使用 root 账户运行 (不建议) 或通过 setcap 给予低位端口使用权限 (建议的) 。 并且,在将来的版本中会尝试使用非特级子进程运行。[16]

Caddy 没有自动启动 HTTP Strict Transport Security,推荐通过 Caddy 的 header 配置启用 HSTS。[17]

自动签发 HTTPS 编辑

Caddy 默认通过检查域名来启用 HTTPS (通过 ACME protocol 检查域名并签发证书), 并且重定向 HTTP 请求到 HTTPS。[18] 它在启动期间根据需要签发证书,并在服务器的使用期间自动重签发。 Let's Encrypt 是默认的证书颁发机构,但用户可以自定义所使用的 ACME CA,这在测试配置时是必要的。在 2016 年第一季度, 有百分之二的 Let's Encrypt 证书是由 Caddy 签发的。

一个可选的配置允许 Caddy 在需要时签发一个证书 "按需 TLS"[19] 使用这种方案时,用户必须指定可通过该方案配置的证书数量。 当 Caddy 收到一个没有配置证书的请求时, 它会自动通过 ACME 签发并配置, 然后将证书存储于内存和硬盘。 这个过程通常需要几秒钟的时间,并且受到限制。

当使用 TLS, Caddy 会自动切换会话密钥以保证安全性。[20]

參考資料 编辑

  1. ^ https://github.com/caddyserver/caddy/releases/tag/v2.7.4; 检索日期: 2023年8月18日; 出版日期: 2023年8月17日.
  2. ^ Johnson, Brad. A Better Web Server with Free SSL. 23 February 2016 [5 March 2016]. (原始内容于2017-08-02). 
  3. ^ Automatic HTTPS with Caddy Server. 18 December 2015 [5 March 2016]. (原始内容于2017-08-02). 
  4. ^ Dmitry Chestnykh [@dchest]. Caddy is the first general-purpose web server to default to HTTPS without user intervention (using Let's Encrypt) (推文). 17 December 2015 –通过Twitter. 
  5. ^ Show HN: Caddy, a cross-platform HTTP/2 web server. 28 April 2015 [2017-04-03]. (原始内容于2017-04-22). 
  6. ^ Is Caddy Free?. [2017-04-03]. (原始内容于2017-04-22). 
  7. ^ The Caddyfile. [29 February 2016]. (原始内容于2017-04-20). 
  8. ^ tls - Caddy Directives. [8 March 2016]. (原始内容于2017-03-17). 
  9. ^ Benedetti, Benoit. Caddy, Le Serveur Web Facile [Caddy, The Easy Web Server]. GNU/Linux Magazine France (France). November 2015 (法语). 
  10. ^ . [2017-04-03]. (原始内容存档于2017-08-18). 
  11. ^ Beke, Mathias. Caddy Server and WordPress (PHP-FPM). 21 August 2015 [2017-04-03]. (原始内容于2016-05-03). 
  12. ^ . [5 March 2016]. (原始内容存档于2021-04-10). 
  13. ^ Release 0.7.1 · mholt/caddy. 2 June 2015 [2017-04-03]. (原始内容于2019-02-15). 
  14. ^ Nick Sullivan [@grittygrease]. It's built in Go using custom versions @rlbarnes's Mint and @mholt6's Caddy (推文). 4 Mar 2016 –通过Twitter. 
  15. ^ syscall: Setuid/Setgid doesn't apply to all threads on Linux. 21 January 2011 [5 March 2016]. (原始内容于2018-02-07). 
  16. ^ Implement privilege de-escalation. 21 January 2016 [2017-04-03]. (原始内容于2017-04-22). 
  17. ^ HTTP Strict Transport Security. [8 March 2016]. (原始内容于2017-04-26). 
  18. ^ Automatic HTTPS. [5 March 2016]. (原始内容于2017-03-17). 
  19. ^ On-Demand TLS. [5 March 2016]. (原始内容于2017-03-17). 
  20. ^ Springall, Drew; Durumeric, Zakir; Halderman, J. Alex. Measuring the Security Harm of TLS Crypto Shortcuts. Proceedings of the 2016 ACM on Internet Measurement Conference. IMC '16 (New York, NY, USA: ACM). 2016-01-01: 33–47. ISBN 9781450345262. doi:10.1145/2987443.2987480. 

外部連結 编辑

  • 官方网站
  • GitHub上的caddy頁面

caddy, 提示, 此条目的主题不是球僮, 高尔夫球, 此條目翻譯品質不佳, 2017年4月3日, 翻譯者可能不熟悉中文或原文語言, 也可能使用了機器翻譯, 請協助翻譯本條目或重新編寫, 并注意避免翻译腔的问题, 明顯拙劣的翻譯請改掛, href, template, html, class, redirect, title, template, href, wikipedia, html, class, redirect, title, wikipedia, 提交刪除, 服务器, 或称, 是一个开源的, 使用,. 提示 此条目的主题不是球僮 高尔夫球 此條目翻譯品質不佳 2017年4月3日 翻譯者可能不熟悉中文或原文語言 也可能使用了機器翻譯 請協助翻譯本條目或重新編寫 并注意避免翻译腔的问题 明顯拙劣的翻譯請改掛 a href Template D html class mw redirect title Template D d a a href Wikipedia CSD html G13 class mw redirect title Wikipedia CSD G13 a 提交刪除 Caddy服务器 或称Caddy Web 是一个开源的 使用 Golang 编写 支持 HTTP 2 的 Web 服务端 它使用 Golang 标准库提供 HTTP 功能 Caddy原作者Matthew Holt首次发布2015年4月28日 8年前 2015 04 28 当前版本2 7 4 2023年8月17日 穩定版本 1 源代码库github wbr com wbr caddyserver wbr caddy编程语言Go操作系统Android BSD variants Linux OS X及Windows类型Web服务器 反向代理服务器许可协议Apache许可证2 0网站官方网站Caddy 一个显著的特性是默认启用 HTTPS 2 3 它是第一个无需额外配置即可提供 HTTPS 特性的 Web 服务器 4 作者 Matt Holt 于 2014 年 12 月开始开发 Caddy 并于 2015 年 4 月发布第一个版本 5 在发布后的一年里 它的下载量超过了 20000 次 并在 GitHub 上获得了 4500 个 Star 6 Caddy 支持各种 Web 技术 提供静态编译的二进制文件 支持 i386 amd64 和 ARM 架构上的 Windows Mac Linux Android 和 BSD 操作系统 目录 1 功能 2 安全 2 1 自动签发 HTTPS 3 參考資料 4 外部連結功能 编辑Caddy 可以提供各种网站技术 它也可以作为反向代理和负载均衡器 Caddy 的大部分功能都以中间件的形式实现 并通过 Caddyfile 中的指令 用于配置 Caddy 的文本文件 进行控制 7 HTTP 1 1 原始的HTTP and HTTP 2 HTTPS的推荐连接方案 HTTPS 同时接受自动签发和手动管理 TLS 1 2 临时性支持 旧协议 8 SNI OCSP证书交换验证 虚拟主机 多个站点工作在单个端口上 9 原生IPv4和IPv6支持 静态文件分发 平滑重启 重载 反向代理 HTTP或WebSocket 负载均衡和健康性检查 FastCGI支持 10 11 配置文件模板 Markdown渲染 CGI通过WebSocket Gzip压缩 简单服务器鉴权 URL重写 重定向 文件浏览服务 访问日志 实验性QUIC支持安全 编辑Caddy 免于很多已知的 CVEs 攻击 包括 Heartbleed DROWN POODLE 和 BEAST 12 另外 Caddy 使用 TLS FALLBACK SCSV 以防止协议降级攻击 2015 年 6 月 2 日 版本 0 7 1 修复了 Caddy 简单服务器鉴权中间件中时间欺诈攻击的漏洞 13 关于协议和密码套件 Caddy 使用 TLS 1 0 1 2 并且倾向于 ECDHE ECDSA 与 AES256 GCM SHA384 支持十几种不同的加密方式 Cloudflare 已经使用了 Caddy 作为 TLS 1 3 的实现方案 14 传统的特权降级无法工作在 Golang 程序上 15 为了绑定低于 1024 的端口 Caddy 必须使用 root 账户运行 不建议 或通过 setcap 给予低位端口使用权限 建议的 并且 在将来的版本中会尝试使用非特级子进程运行 16 Caddy 没有自动启动 HTTP Strict Transport Security 推荐通过 Caddy 的 header 配置启用 HSTS 17 自动签发 HTTPS 编辑 Caddy 默认通过检查域名来启用 HTTPS 通过 ACME protocol 检查域名并签发证书 并且重定向 HTTP 请求到 HTTPS 18 它在启动期间根据需要签发证书 并在服务器的使用期间自动重签发 Let s Encrypt 是默认的证书颁发机构 但用户可以自定义所使用的 ACME CA 这在测试配置时是必要的 在 2016 年第一季度 有百分之二的 Let s Encrypt 证书是由 Caddy 签发的 一个可选的配置允许 Caddy 在需要时签发一个证书 按需 TLS 19 使用这种方案时 用户必须指定可通过该方案配置的证书数量 当 Caddy 收到一个没有配置证书的请求时 它会自动通过 ACME 签发并配置 然后将证书存储于内存和硬盘 这个过程通常需要几秒钟的时间 并且受到限制 当使用 TLS Caddy 会自动切换会话密钥以保证安全性 20 參考資料 编辑 https github com caddyserver caddy releases tag v2 7 4 检索日期 2023年8月18日 出版日期 2023年8月17日 Johnson Brad A Better Web Server with Free SSL 23 February 2016 5 March 2016 原始内容存档于2017 08 02 Automatic HTTPS with Caddy Server 18 December 2015 5 March 2016 原始内容存档于2017 08 02 Dmitry Chestnykh dchest Caddy is the first general purpose web server to default to HTTPS without user intervention using Let s Encrypt 推文 17 December 2015 通过Twitter Show HN Caddy a cross platform HTTP 2 web server 28 April 2015 2017 04 03 原始内容存档于2017 04 22 Is Caddy Free 2017 04 03 原始内容存档于2017 04 22 The Caddyfile 29 February 2016 原始内容存档于2017 04 20 tls Caddy Directives 8 March 2016 原始内容存档于2017 03 17 Benedetti Benoit Caddy Le Serveur Web Facile Caddy The Easy Web Server GNU Linux Magazine France France November 2015 法语 使用 accessdate 需要含有 url 帮助 How to Setup the Caddy Web Server with php fpm 2017 04 03 原始内容存档于2017 08 18 Beke Mathias Caddy Server and WordPress PHP FPM 21 August 2015 2017 04 03 原始内容存档于2016 05 03 SSL Server Test caddyserver com Powered by Qualys SSL Labs 5 March 2016 原始内容存档于2021 04 10 Release 0 7 1 mholt caddy 2 June 2015 2017 04 03 原始内容存档于2019 02 15 Nick Sullivan grittygrease It s built in Go using custom versions rlbarnes s Mint and mholt6 s Caddy 推文 4 Mar 2016 通过Twitter syscall Setuid Setgid doesn t apply to all threads on Linux 21 January 2011 5 March 2016 原始内容存档于2018 02 07 Implement privilege de escalation 21 January 2016 2017 04 03 原始内容存档于2017 04 22 HTTP Strict Transport Security 8 March 2016 原始内容存档于2017 04 26 Automatic HTTPS 5 March 2016 原始内容存档于2017 03 17 On Demand TLS 5 March 2016 原始内容存档于2017 03 17 Springall Drew Durumeric Zakir Halderman J Alex Measuring the Security Harm of TLS Crypto Shortcuts Proceedings of the 2016 ACM on Internet Measurement Conference IMC 16 New York NY USA ACM 2016 01 01 33 47 ISBN 9781450345262 doi 10 1145 2987443 2987480 外部連結 编辑官方网站 GitHub上的caddy頁面 取自 https zh wikipedia org w index php title Caddy amp oldid 78363743, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。