之前一直用的腾讯的免费ssl证书,但有个不大不小的尴尬,因为tingtao.org和www.tingtao.org是两个域名,所以一个站点要捣鼓的东西挺多,有点麻烦,也就没搭理了。
平时用到证书的地方还挺多,有些程序也要用,所以维护一堆证书其实挺烦的。
无意间看到Let's encrypt支持通配符了,而且可以多个域名,果断出手。
Debian系统在/etc/apt/sources.list加一行:
deb http://deb.debian.org/debian stretch-backports main contrib non-free
然后执行安装:
apt-get update apt-get install certbot -t stretch-backports
接着就可以申请证书了:
certbot certonly -d "*.tingtao.org" -d "tingtao.org" -d "*.pig6.com" -d "*.27c.net" -d "27c.net" --manual --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory
这里指定了验证方式为dns,以及附加了几个域名进去
交互过程输入你的邮箱,然后协议什么的,无脑输入Agree和yes,最后来到dns验证环节。
注意哦,这里有个不太人性化的地方,比如tingtao.org和27c.net我添加了根和通配符,所以这两个域名需要按照提示添加两个txt记录,添加以后不用担心ssh超时,稍等个几秒钟直接回车就行,他还查不到的记录会重新提示的,多回车几次就过去了,最后就给出证书位置了:
IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/tingtao.org/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/tingtao.org/privkey.pem Your cert will expire on 2019-01-28. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
把/etc/letsencrypt/live/tingtao.org/fullchain.pem 和/etc/letsencrypt/live/tingtao.org/privkey.pem 复制到你想放的位置,然后nginx里面修改:
ssl_certificate /var/www/ca/bigca/fullchain.pem; ssl_certificate_key /var/www/ca/bigca/privkey.pem;
重启一下nginx就可以了。其他机器要用的话直接把证书复制过去就行,因为是文本,所以复制内容也很方便。
注意,这个证书是90天有效期,到期要延期,我还没试过,不过接近到期的时候重新申请就可以了。
补充,经过测试,Windowns 2008 R2用通配符证书可以让多个站点都用443端口了。
===========================
补充:生成iis用的pfx格式:
openssl pkcs12 -export -out /etc/letsencrypt/live/tingtao.org/tingtao.pfx -inkey /etc/letsencrypt/live/tingtao.org/privkey.pem -in /etc/letsencrypt/live/tingtao.org/fullchain.pem
会要求输入密码,不想要密码就直接回车两次。
certbot太麻烦了,而且有的机器(比如我的腾讯云小机器)就用不了。我用的acme.sh,还可以自动续签。
谢谢,回头我也试试看。