使用Let's Encrypt通配符证书装备个人站点

3月13日,Let’s Encrypt在Twitter上宣布通配符证书(wildcard certificate)支持正式上线。对于很多公司来说,又多了一个大大的不需要购买付费证书的理由。

3月27日,Caddy Web Server发推宣布发布新版本0.10.12,支持自动生成通配符证书

通配符证书只有通过ACMEv2才能得到,另一方面,通配符证书必须通过修改DNS的TXT记录才能验证申请方拥有对域名的控制权。 使用CloudFlare进行DNS解析, 取消CDN仅做DNS解析,否则证书是CloudFlare的CDN证书, 可授权使用 Cloudflare API key

My Profile –> API Key –> Global API Key –> View API Key

修改Caddy Dockerfile

ARG version="0.10.12"
ARG plugins="git cloudflare"  
# 注释掉如下两行
#COPY Caddyfile /etc/Caddyfile
#COPY index.html /srv/index.html

查看Caddy dns指令文档: https://caddyserver.com/docs/automatic-https#enabling-the-dns-challenge

修改docker-compose.yml :

# 设置环境变量:
CLOUDFLARE_EMAIL
CLOUDFLARE_API_KEY
ACME_AGREE: 1  #自动agree证书签发协议