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解析记录。

主机记录是_acme-challenge.abc.cyconst.com (cyconst.com是作者用的域名)

记录值就是letsencrypt生成的随机字符串(上图红色方框部分)


添加好DNS记录后,我们可以通过dig -t txt _acme-challenge.abc.cyconst.com来查看域名的内容,域名生效以后,在certbot程序中下按下回车键,程序继续运行。letsencrypt对DNS记录验证成功,证书就申请成功了,申请好的公钥和私钥一般放在

/etc/letsencrypt/live/abc.cyconst.com

caddy中配置自有证书的方法

Caddyfile中如下配置:

abc.cyconst.com:443 {

tls /etc/letsencrypt/live/abc.cyconst.com/cert.pe /etc/letsencrypt/live/abc.cyconst.com/privkey
}

重启caddy即可

caddy --conf=Caddyfile

参考链接:

编辑于 2019-04-23 17:13