跳到主要内容
版本:Next

Caddy

Caddy 是一个 自动 HTTPS 开源 Web 服务器,它被用于 HTTP 服务器 等场景。Caddy 是一个强大且可扩展的 HTTP/2 Web 服务器,它默认使用 HTTPS 并自动获取和更新 TLS 证书

architecture

准备

在参阅本文档使用 Caddy 时,需要确保如下几点:

  • 应用是基于 Websoft9 安装的

  • 应用的用途符合 apache2 开源许可协议

  • 应用具备访问条件:配置域名服务器安全组开启网外端口

入门指南

Websoft9 提供的 Caddy 应用两个用途:

  • 直接运行静态网站
  • 作为反向代理服务

下面我们分别对它的使用方法做出详细的说明

部署静态网站

Websoft9 控制台安装 Caddy 后,通过 "我的应用" 查看应用详情,在 "访问" 标签页中获取访问信息。

支持两种上传代码的部署方式:

通过Git 仓库部署

  1. 通过 "我的应用" > "Caddy 容器" 的 编排 标签页,进入应用的 Git 仓库
  2. Git 上传自己的静态网站文件到 site 目录
  3. Websoft9 控制台重建应用后生效

容器中下载源码部署

  1. 进入容器的 exec 命令模式
  2. 将源码下载并解压到 /srv 目录下
  3. Websoft9 控制台重启应用后生效

反向代理其他应用

参考下面的步骤,体验 Caddy 方向代理的能力:

  1. Websoft9 控制台 "应用商店" 分别运行一个 NetdataCaddy

  2. 通过 "我的应用" > "Caddy" 的编排 标签页中修改 src/Caddyfile 为如下的内容

    :80 {
    reverse_proxy http://netdata_h31py:19999
    }
  3. 重启 Caddy 应用,访问 Caddy 的 URL,就会发现应用已指向了 Netdata 的页面

在 Websoft9 托管平台中,上面的 Netdata 访问的路由: 用户 > Websoft9 网关 > Caddy > Netdata

配置选项

  • 容器中应用根目录:/srv
  • Caddy 容器端口:80
  • 监控所有 URL 的通配符写法: :80
  • API
  • CLI:caddy help
  • 配置模板
  • Caddy 配置文件:/etc/caddy/Caddyfile,已挂载到编排文件 /src/Caddyfile。

管理维护

故障