1. 介绍
- Caddy 是一个 Go 编写的 Web 服务器。类似于 Nginx,Caddy 提供了更加强大的功能,目前 Caddy2 已经可以作为中小型站点 Web 服务器的另一个选择。这里记录以下给网站配置域名 shellfish.top 流程。
2. 安装
- 参考官方文档
3. 快速使用
- 进入home 创建
.caddy
文件夹Caddyfile
mkdir ~/.caddy && cd ~/.caddy && touch Caddyfile
- 复制 Caddyfile 的最简配置
shellfish.top
encode gzip
reverse_proxy 127.0.0.1:8000
- 运行
#caddy会默认加载当前目录下的 `Caddyfile` 文件
caddy run
#如果文件在别的地方也可以这样
caddy run --config /etc/caddy/Caddyfile
如果域名有效,并能正确解析到你当前的服务器,此配置将自动为您申请证书,并启动 ssl
3. 关闭Caddy2自动证书
当符合下面所有的要求时,Caddy默认开启Https,Caddy2会自己申请证书
- 主机名
- 不为空
- 不是localhost
- 不是一个IP地址
- 不超过一个通配符(*)
- 通配符必须是最左边的标签
- 没有显式指定端口为80
- 没有显式指定使用http协议
- TLS没有在站点的定义中被关闭
- 不是你自己提供的证书和密钥
- Caddy能够绑定到端口80和443(除非使用DNS验证)
# 我这里破坏了其中一个条件,显式指定端口 80,Caddy就会禁用 Https
shellfish.top:80 {
encode gzip
reverse_proxy 127.0.0.1:8090
}
4. 用自己的证书和密钥
www.shellfish.top:443 shellfish.top:443 {
encode gzip
reverse_proxy 127.0.0.1:8090
tls /etc/live/5857288_shellfish.top.pem /etc/live/5857288_shellfish.top.key
}
- 5857288_shellfish.top.pem 证书
- 5857288_shellfish.top.key 私钥
- 配置证书的格式 tls cert key,tls为固定,cert为证书,key为私钥
- 比如我将证书和私钥放在 /etc/live/ 目录下,接下来我只要在 CaddyFile 文件中指定它们的路径即可 tls /etc/live/5857288_shellfish.top.pem /etc/live/5857288_shellfish.top.key