美文网首页收藏开发组件
组件分享之后端组件——一个可扩展的服务器平台caddy

组件分享之后端组件——一个可扩展的服务器平台caddy

作者: cn華少 | 来源:发表于2022-04-18 23:13 被阅读0次

    组件分享之后端组件——一个可扩展的服务器平台caddy

    背景

    近期正在探索前端、后端、系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件。欢迎大家进行持续关注。

    组件基本信息

    内容

    本节我们分享一个可扩展的服务器平台caddy,Caddy 2 是一个强大的、企业级的、开源的 Web 服务器,带有用 Go 编写的 自动 HTTPS,默认使用TLS。Caddy 简化了您的基础架构。它负责 TLS 证书更新、OCSP 装订、静态文件服务、反向代理、Kubernetes 入口等。

    概述

    Caddy 最常用作 HTTPS 服务器,但它适用于任何长时间运行的 Go 程序。首先,它是一个运行 Go 应用程序的平台。Caddy“应用程序”只是作为 Caddy 模块实现的 Go 程序。两个应用程序 -tls并且http- 标配 Caddy。

    Caddy 应用程序立即受益于自动化文档、通过 API进行的优雅在线配置更改以及与其他 Caddy 应用程序的统一。

    虽然JSON是 Caddy 的原生配置语言,但 Caddy 可以接受来自配置适配器的输入,这些适配器基本上可以将您选择的任何配置格式转换为 JSON:Caddyfile、JSON 5、YAML、TOML、NGINX 配置等。

    配置 Caddy 的主要方法是通过其 API,但如果您更喜欢配置文件,命令行界面也支持这些。

    与现有的任何 Web 服务器相比,Caddy 具有前所未有的控制水平。在 Caddy 中,您通常在内存中设置初始化类型的实际值,这些值支持从 HTTP 处理程序和 TLS 握手到存储介质的所有内容。Caddy 的可扩展性也非常可笑,它具有强大的插件系统,可以大大改进其他 Web 服务器。

    要使用这种设计的力量,您需要了解配置文档的结构。有关Caddy 配置结构的详细信息,请参阅我们的文档站点

    几乎所有 Caddy 的配置都包含在单个配置文档中,而不是像其他 Web 服务器那样分散在 CLI 标志和环境变量以及配置文件中。这使得管理您的服务器配置更加直接,并减少了隐藏的变量/因素。

    特征

    • 使用Caddyfile轻松配置
    • 强大的配置及其原生 JSON 配置
    • 使用JSON API进行动态配置
    • 如果您不喜欢 JSON,请配置适配器
    • 默认 自动 HTTPS
      • ZeroSSLLet's Encrypt用于公共名称
      • 用于内部名称和 IP 的完全托管的本地 CA
      • 可以与集群中的其他 Caddy 实例协调
      • 多发行人后备
    • 当其他服务器因 TLS/OCSP/证书相关问题而停机时保持正常运行
    • 在处理数万亿个请求并管理数百万个 TLS 证书后,可投入生产
    • 扩展到数以万计的站点......而且可能更多
    • HTTP/1.1、HTTP/2 和实验性 HTTP/3支持
    • 高度可扩展的 模块化架构让 Caddy 做任何事情都不会臃肿
    • 没有外部依赖的****任何地方运行(甚至没有 libc)
    • 用 Go 编写,一种比其他服务器具有更高内存安全保证的语言
    • 其实用起来很有趣
    • 所以,还有更多的发现
    本文声明:
    88x31.png
    知识共享许可协议
    本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。

    相关文章

      网友评论

        本文标题:组件分享之后端组件——一个可扩展的服务器平台caddy

        本文链接:https://www.haomeiwen.com/subject/sgwdertx.html