在 Caddy 中使用外部 SSL 证书
为什么
Caddy 内置了 Automatic HTTPS 的功能。但是默认的 CA (Let's Encrypt) 的 CRL 链接近期出现了访问障碍1.
试图切换到 Google Trust Services 的过程中发现 Caddy 的 ACME 请求对 HTTP(S) PROXY 支持并不完善2.
所以需要把这两部分分开,使用 acme.sh 作为 ACME 客户端,Caddy 不开启 Automatic HTTPS.
怎么做
-
acme.sh 的 wiki 中对如何从 Google Trust Service 获取证书有介绍。
-
从 acme.sh 导出 SSL 证书.
acme.sh i --install-cert --domain domain.tld --key-file key.pem --fullchain-file fullchain.pem --reloadcmd <command>
这里需要使用 --fullchain-file
而不是 --cert-file
,不然你会看到诸如 x509: certificate signed by unknown authority
这样的错。
- 在 Caddyfile 中配置 SSL 证书
{
tls <fullchain.pem> <key.pem>
}