Caddy手工申请https证书的方法
caddy 是一个简单易用的web服务器. 默认情况下caddy会为我们的域名直接申请letsencrypt证书.
letsencrypt默认的验证方式是:
1 certbot
程序在web目录的根目录下放置一个文件
2 letsencrypt
的服务器通过域名来访问这个文件,来验证你申请的域名是属于你的
但因为某些原因, letsencrypt不一定能访问到我们的服务器,这个时候就需要使用手工方式申请申请证书.
我的服务器的系统是ubuntu 16.04,运行以下命令(如果提示找不到cerbot命令,先apt install cerbot):
certbot --manual --preferred-challenges dns certonly
接下来根据提示依次输入域名,和一些提示,一般输入y表示同意即可,直到弹出如下提示:
然后去阿里云域名控制台,添加一条新的txt解析记录。
主机记录是http://_acme-challenge.abc.cyconst.com (http://cyconst.com是作者用的域名)
记录值就是letsencrypt
生成的随机字符串(上图红色方框部分)
添加好DNS记录后,我们可以通过dig -t txt _acme-challenge.abc.cyconst.com
来查看域名的内容,域名生效以后,在certbot
程序中下按下回车键,程序继续运行。letsencrypt
对DNS记录验证成功,证书就申请成功了,申请好的公钥和私钥一般放在
/etc/letsencrypt/live/http://abc.cyconst.com
caddy中配置自有证书的方法
Caddyfile中如下配置:
abc.cyconst.com:443 {
tls /etc/letsencrypt/live/http://abc.cyconst.com/cert.pem /etc/letsencrypt/live/http://abc.cyconst.com/privkey.pem
}
重启caddy即可
caddy --conf=Caddyfile
参考链接: