说明
Let’s Encrypt 是一个免费、自动化、开放的证书颁发机构 (CA),为网站提供数字证书以启用 HTTPS ( SSL/TLS )。它的存在解决了获取、安装和维护证书的复杂性,从而为每个网站提供了一个安全的互联网。
所以是可以自己免费完成的,网上有一些网站,看着跟这个很像(来此加密),需要注册登录,也可以,可以自己去试试。我还是建议自己完成,毕竟也不难。
安装客户端 Cerbot
自己申请 letsencrypt 需要客户端:Certbot 只考虑在 Linux 下使用,任意一台 Linux 机器即可,无需是在自己的服务器上,我本人就是在 WSL 上完成的
具体软件的安装,自己去搜索即可,这里提供几个常用系统的命令 Ubuntu 上:
sudo apt-get install certbot
CentOS 上:
sudo yum install certbot
我自己使用的 ArchLinux 上:
sudo pacman -S cerbot
其他系统可参考 Cerbot 官方文档:https://certbot.eff.org/instructions
申请泛域名证书
申请单域名证书一般都会配置上自动续约,我这里不写了。因为我自己没有用过那种的,自己服务器的一般都直接用泛型的了。 泛型的不支持自动续约,所以,到了有效期(三个月)之后,需要手动重新申请,替换
找一台 Linux 机器,可以使用 WSL,本人使用的就是 WSL 装的 ArchLinux
执行命令:
sudo certbot certonly --manual --preferred-challenges=dns -d "*.yourdomain.com"
解释:
certonly
:仅获取证书--manual
:手动操作--preferred-challenges=dns
:验证方式使用 DNS,也就是需要在域名解析那里配置一个 TXT 类型的解析
操作后,会提示如下信息:
这就是提示让你去配置域名解析 其中第一个红框中的就是 TXT 类型的前缀 tips:域名解析需要去自己域名管理网站上自己配置 第二个红框中的就是配置的值
比如我使用的 namesilo配置如下:
上面的两个红框的内容,就对应填在这里
接着就去等,等生效,命令行先放在那里,不要动,不要动,不要动 一定要保证自己通过 dig 等命令查看到域名解析已经生效后,再去继续
国内的比如阿里会比较快一些,像我使用的 namesilo 解析生效比较慢,大概需要20-30分钟 所以,这时候可以去干些别的,别动这个窗口
如果有 TZ 可以访问提示的地址进行查看,多试几次如果比较大的几率看到的值跟你配置的一致,基本就没问题了。
tips:切记在没有解析成功之前,不要去点控制台中的继续。如果点了之后,程序去查询,认证失败的话,就得重新再来一遍,还得重新配置域名解析。还要继续等
成功之后如下:
通过1Panel配置
之前只有下面的宝塔配置,现在补充一下1Panel的配置,宝塔已经好久不用了,切换到1Panel轻轻松松。并且发现用1Panel配置证书更容易,因为它单独有一个维护证书的地方
初次配置,直接这里点这里上传证书:
后续更新的时候,比如上面生成了新的之后,点更新,就可以了,非常方便,不需要再去改网站
上传了证书之后,再创建网站的时候,就可以选择这个证书了,很方便
网站配置如下:
ps:我印象中上次是一键部署到所有网站上的,但刚才去找了好久没找到,可能是恍惚记错了吧。不过一个一个来也还好吧,也就配置一次,后续生成新的key之后只用在证书那里更新即可。
通过宝塔配置(本人不用宝塔了)
上面如果认证成功之后,便申请成功了
成功后,证书会被保存在本机的指定位置,会提示在控制台中,照着去找到即可
建议拷到自己设置的一个目录中,注意看提示的目录中使用的是引用地址,可以 ls -la
的方式查看实际文件地址。
关注两个文件:
privkey.pem
fullchain.pem
具体配置 Nginx 或者其他服务使用的,我没有那样用。我直接使用的宝塔
通过这种方式可以一次性配置多个站点,我站点比较多,因此这个批量部署非常适合我使用TIPS:上面已经说过,泛型域名 3 个月有效期,不能自动续期,因此需要手动重新申请。尽量提前申请替换,不然可能会比较麻烦。比如宝塔如果配置过什么,没有 https 可能进不去等等问题。可以使用宝塔提供的到期前提醒功能。
以上,感谢阅读!