如何白嫖 SSL 证书
Let’s Encrypt
Let’s Encrypt 是一免费的公益组织,可以免费申请 SSL 请书,但每个证书有效期仅有三个月,但以使用自动化工具,自动继期。
开始
1.安装 snap
snap 可以说是一个 Linux 软件商店,有不少软件和工具都会发布在这里,而我们要使用的工具 certbot 就是发布在这里的。
以 Ubuntu 20.04 为例,只需要使用 root 用户执行指令即可安装。
apt install snapd
如果是其它系统,则可以到以下链接去看安装方法。
https://snapcraft.io/docs/installing-snapd
2.安装 certbot
certbot 是 Let’s Encrypt 所推荐的证书申请方式,由于 Let’s Encrypt 所提供的免费证书有效期只有三个月,如果每三个月手动申请一次,还是很痛苦的,所以通常建议使用自动工具,到期自动就申请。
而 certbot 就是这样的一个工具,且功能强大,可自动修改 nginx apache 的配置启用 https 等。
安装方式也很简单,使用 root 权限执行
snap install --classic certbot
ln -s /snap/bin/certbot /usr/bin/certbot
3.在 nginx 上启用 https
在安装好 certbot 后,即可开始申请证书了。
此处以 nginx 举例,如未安装 nginx,可以自行了解。
在 nginx 需要启动,并设置 80 端口的监听,需要配置网站的 root 目录,在证书验证时,certbot 会将验证文件置于网站目录,所以需要网站可以走 http 访问。
执行
certbot certonly --nginx
便会自动申请证书并放在 /etc/letsencrypt/
目录下,然后即可手动配置了。
也可以选择直接使用
certbot --nginx
这样会自动修改 nginx 的配置文件。
4.自动续期
certbot 最好的一点就是,可以自动续期,它会自动增加 cron 任务,在证书过期前续定。
我们并不需要手动开启,在完成证书申请后,就已经自动配置好定时任务了。
可以使用 certbot renew --dry-run
测试续期是否正常。
Q.E.D.