• Caddy一个强大的web服务器和代理服务器
  • 什么是Caddy

    Caddy是一个强大的、可扩展的平台,可以为您的站点、服务和应用程序提供服务,它是用Go编写的。虽然大多数人使用它作为web服务器或代理,但其实他支持更多的功能:

    • Caddy是唯一自动且默认使用HTTPS的web服务器。
    • web服务器
    • 反向代理
    • sidecar代理
    • 负载均衡器
    • API网关
    • ingress控制器
    • 系统管理器
    • 进程supervisor
    • 任务调度器
    • (任何长时间运行的进程long-running process)
    • 简单的配置与Caddyfile
    • 强大的配置和它的原生JSON配置
    • 使用JSON API进行动态配置
    • 如果不喜欢JSON,配置适配器
    • 默认自动HTTPS,让我们加密公共站点,内部名称和ip的全托管本地CA,可以与集群中的其他Caddy实例协调吗
    • 避免其他服务器由于TLS/OCSP/与证书相关的问题而宕机时
    • HTTP/1.1、HTTP/2和实验性HTTP/3支持
    • 高度可扩展的模块化架构让Caddy做任何事情都不会臃肿
    • 在任何没有外部依赖的地方运行(甚至libc也不行)
    • 用Go编写,一种比其他服务器具有更高内存安全保证的语言

    简化的外部依赖

    Caddy简化了你的基础设施。它负责TLS证书更新、OCSP绑定、静态文件服务、反向代理、Kubernetes访问等。
    它的模块化架构意味着您可以使用为任何平台编译的单个静态二进制文件做更多的事情。
    Caddy在容器中运行得很好,因为它没有依赖项—甚至libc也没有。几乎在任何地方都能运行Caddy。

    一流的安全

    Caddy是唯一自动且默认使用HTTPS的web服务器。
    Caddy为您的站点自动获取和更新TLS证书。它甚至会固定OCSP响应。其新颖的证书管理功能是同类产品中最成熟、最可靠的。
    用Go编写的Caddy提供了比用c编写的服务器更大的内存安全性。

    文件服务器和代理

    Caddy是一个灵活、高效的静态文件服务器,也是一个强大的、可伸缩的反向代理。
    使用它来为您的静态站点提供压缩、模板评估、Markdown呈现等服务。
    或者将其用作任意数量后端的动态反向代理,包括主动和被动健康检查、负载平衡、断路、缓存等等。

    下载和安装

    下载非常简单:

    wget "https://github.com/caddyserver/caddy/releases/latest/download/ASSET"  
    docker pull caddy  
    如果需要安装为service,参考https://caddyserver.com/docs/install
    

    零配置文件服务器

    启动当前目录为文件服务器: 
    caddy file-server
    启动当前目录为文件服务器,且支持https: 
    caddy file-server --domain example.com
    方向代理:
    caddy reverse-proxy --from example.com --to localhost:9000
    使用mysite目录: 
    caddy file-server --root ~/mysite
    

    Caddy通过配置文件运行

    启动server,且支持https,反向代理,压缩,和模板

    example.com  
      
    # Templates give static sites some dynamic features  
    templates  
    
    # Compress responses according to Accept-Encoding headers
    encode gzip zstd
    
    # Make HTML file extension optional
    try_files {path}.html {path}
    
    # Send API requests to backend
    reverse_proxy /api/* localhost:9005
    
    # Serve everything else from the file system
    file_server
    

    caddy同一服务器支持多个域名

    mysite.com {
        root /www/mysite.com
    }
    
    sub.mysite.com {
        root /www/sub.mysite.com
        gzip
        log ../access.log
    }
    

    参考

    https://caddyserver.com/
    https://github.com/caddyserver/caddy

  • 相关阅读:
    看完让你彻底搞懂Websocket原理
    WebSocket 协议简介
    Java获取本机ip和服务器ip
    使用 IntraWeb (45) 活用 IntraWeb
    使用 IntraWeb (44) 测试读取 SqLite (三)
    使用 IntraWeb (43) 测试读取 SqLite (二)
    使用 IntraWeb (42) 测试读取 SqLite (一)
    使用 IntraWeb (41) 数据控件速查
    使用 IntraWeb (40) 自定义 Session 数据
    使用 IntraWeb (39) THttpRequest、THttpReply
  • 【推广】 阿里云小站-上云优惠聚集地(新老客户同享)更有每天限时秒杀!
    【推广】 云服务器低至0.95折 1核2G ECS云服务器8.1元/月
    【推广】 阿里云老用户升级四重礼遇享6.5折限时折扣!
  • 原文地址:https://www.cnblogs.com/itech/p/12871127.html
走看看 - 开发者的网上家园