Caddy是什么

Fanly 问答 2022-08-12 14:36:12 阅读(...)

Caddy 是一个支持 HTTP/2 的跨平台的开源 Web 服务器,使用和配置都非常简单。Caddy 支持 HTTP/2, IPv6, Markdown, WebSockets, FastCGI, 模板等等。

Caddy 是一个支持 HTTP/2 的跨平台 Web 服务器,使用和配置都非常简单。Caddy 支持 HTTP/2, IPv6, Markdown, WebSockets, FastCGI, 模板等等。

Caddy

Caddy 服务器是一个开源的,使用 Golang 编写,支持 HTTP/2 的 Web 服务端。它使用 Golang 标准库提供 HTTP 功能。 Caddy 一个显著的特性是默认启用 HTTPS。它是第一个无需额外配置即可提供 HTTPS 特性的 Web 服务器。

Caddy 支持各种 Web 技术,提供静态编译的二进制文件,支持 i386、amd64 和 ARM 架构上的 Windows、Mac、Linux、Android 和 BSD 操作系统。

功能

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

  • HTTP/1.1 (原始的 HTTP) and HTTP/2 (HTTPS 的推荐连接方案)
  • HTTPS,同时接受自动签发和手动管理
    • TLS 1.2 临时性支持(旧协议)
    • SNI
    • OCSP 证书交换验证
  • 虚拟主机 (多个站点工作在单个端口上)
  • 原生 IPv4 和 IPv6 支持
  • 静态文件分发
  • 平滑重启/重载
  • 反向代理 (HTTP 或 WebSocket)
  • 负载均衡和健康性检查
  • FastCGI 支持
  • 配置文件模板
  • Markdown 渲染
  • CGI 通过 WebSocket
  • Gzip 压缩
  • 简单服务器鉴权
  • URL 重写
  • 重定向
  • 文件浏览服务
  • 访问日志
  • 实验性 QUIC 支持

安全

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

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

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

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

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

自动签发 HTTPS

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

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

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

0个人收藏 收藏

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • dwg 格式 Dwg format

    dwg是什么格式

    dwg格式是AutoCAD保存数据专用的一种文件格式,是电脑辅助设计软件AutoCAD及基于AutoCAD的软件保存设计数据所用的一种专有文件格式,现在dwg格式以及它的ASCII格式变体DXF,已经成为CAD制图数据交换中的事实文件标准。
  • 计算机辅助设计 CAD

    CAD全称是什么

    CAD全称为管理软件计算机辅助设计,英文全称为Management Software Computer Aided Design;CAD是指利用计算机及其图形设备帮助设计人员进行管理软件的设计,已经大量应用于建筑、机械、产品、航空等设计领域。
  • CAD 文件 CAD file

    CAD文件是什么

    CAD文件是使用CAD 软件生成的对象的数字文件格式,包含对象的蓝图、技术图纸、示意图或 3D 渲染。计算机辅助设计 (CAD) 或计算机辅助设计和绘图 (CADD) 表示由 2D 或 3D 设计组成的 3D 图形文件格式。
  • autodesk是什么软件

    autodesk是什么软件

    Autodesk并不单单是指某一款软件,它是某一系列软件的总称。目前,人们常用的Autodesk软件有AutoCAD、SketchBook、3ds Max等。这些软件覆盖了很多行业,比如建筑设计、工业设计、动画渲染等。
  • SketchUp

    SketchUp是什么

    SketchUp是一套面向建筑师、城市规划专家、制片人、游戏开发者以及相关专业人员的3D建模程序。比其他三维CAD程序更直观,灵活以及易于使用。 基于便于使用的理念,它拥有一个非常简单的界面。
  • OpenGL

    OpenGL是什么

    OpenGL是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API),由近350个不同的函数调用组成,用来绘制从简单的图形比特到复杂的三维景象。OpenGL常用于CAD、虚拟现实、科学可视化程序和电子游戏开发。