Caddy Server

Caddy Server

Caddy 使用简介
官网 https://caddyserver.com/

功能模块介绍

  • Caddy 是用Go 写的一个webServer
  • 集成 Let’s Encrypt 自动签发证书
  • 内置 支持Http/2
  • 内置 支持 TLS 1.3
  • 配置简单容易上手
    还有其他的看功能看 文档把

Caddy 的授权模式

在 github 作者源码上编译版本是 免费的

https://github.com/mholt/caddy

在下面 官网 通过在线自动编译 出来的 caddy 版本 个人使用免费 商用需要订阅收费

https://caddyserver.com/download

下面示例 使用 Caddy 1.0 windows 版本 反向代理 .net core 2.2 kestrel webapps

先从 caddy-releases 下载windows 编译版本二进制文件

解压缩到 本地目录

新建一个 website目录 存放 Caddyfile 配置文件
这里 比如 是这样的目录结构

E:\website\hangfire.18080\Caddyfile

E:\caddy_v1.0.0_windows_amd64\caddy.exe

运行 CMD

E:\caddy_v1.0.0_windows_amd64\caddy.exe -conf E:\website\hangfire.18080\Caddyfile

示例 Caddyfile 配置文件 具体更详细的看官方 文档

yourdomain:18080  //主机地址
tls off  //关闭 证书 自动申请 自动申请需要 80 443 端口开放
basicauth /hangfire user pwd  //配置 简单登陆验证
proxy / localhost:5100  //反代 本地 kestrel webapps

这样 一个 Caddy 网站示例 已经能正常运行了。

配置守护进程

因为 Caddy 并没有提供 windows下的服务启动方案 这里 我们通过 nssm 这个工具 实现服务的安装

首先到官网下载 nssm-2.24-101-g897c7ad.zip
把对应版本的 nssm.exe 复制到随意一个目录(我这里把他放到 Caddy.exe 同一目录下)

运行 CMD
切换到 nssm.exe 目录

nssm install [<servicename>]
nssm edit <servicename>


运行上面的目录 会弹出 ui 配置界面 把 caddy 的运行参数 配置添入后就能在 windows 服务中 看见你安装的服务了 然后我们配置 延迟启动 这样 如果机器重启 或者服务崩溃 就有守护进程帮你自动重启服务了。