letsencrypt 生成泛域名证书 - get wildcard certificates with letsencrypt

letsencrypt 可谓是穷人福音啊,一个 https 证书动辄数千,泛域名就更贵了,而前不久 letsencrypt 支持了泛域名,不过不支持三级泛域名,比如 *.kpromise.top 并不能匹配 cdn.blog.kpromise.top ,但是你可以一个证书同时包含多个泛域名,比如同时包含 *.kpromise.top、*.blog.kpromise.top 等等。本文从安装 letsencrypt 开始,记录我某次证书更新。

安装 letsencrypt

这部分可以参考:https://certbot.eff.org/docs/install.html ,具体也可以参考如下:

wget https://dl.eff.org/certbot-auto
chmod a+x ./certbot-auto

使用certbot-auto 生成泛域名

具体命令如下:

./certbot-auto certonly -d *.ssyer.com --manual --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory

这里你可以使用多个 -d 比如  -d *.ssyer.com -d *.cdn.ssyer.com  第一次运行会安装依赖,遇到的问题有:OSError: Command /opt/eff.org/certbot/venv/bin/python2.7 - setuptools pkg_resources pip wheel failed with error code 2

这个问题是由于版本太旧,可通过如下命令解决:

pip install setuptools
pip install --upgrade setuptools
pip install virtualenv
pip install --upgrade virtualenv

如果出现 setuptools pkg_resources pip wheel failed with error code 1  可参考  https://github.com/certbot/certbot/issues/2883

接着会要求你添加一条txt解析: _acme-challenge.ssyer.com ,你添加后 通过 dig _acme-challenge.ssyer.com txt 命令查看是否生效,生效后按 enter 即可。

复制证书到阿里云杭州服务器,我写了coyp_letsencrypt 脚本:

cd /etc/
zip -r letsencrypt.zip letsencrypt
scp letsencrypt.zip root@120.27.221.225:/etc/
rm letsencrypt.zip
ssh -v root@120.27.221.225

然后在杭州的服务器上写了 letsencrypt 脚本:

cd /etc/
rm -rf letsencrypt
unzip letsencrypt.zip
rm -rf letsencrypt.zip
nginx -s reload

更新或者生成证书的流程变为了先执行  ./certbot-auto certonly -d *** 生成或更新证书,接着执行  ./coyp_letsencrypt ,接着执行 ./letsencrypt 即可顺利完成啦。

本博客若无特殊说明则由 full-stack-trip 原创发布
转载请点名出处:全栈之旅 > letsencrypt 生成泛域名证书 - get wildcard certificates with letsencrypt
本文地址:https://www.kpromise.top/letsencrypt-get-wildcard-certification/

发表评论

电子邮件地址不会被公开。 必填项已用*标注