使用免费的 HTTPS 证书提供商 letsencrypt。需要安装一个命令行工具来生成 https 需要的证书文件:
sudo snap install core; sudo snap refresh core
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
certbot --server https://acme-v02.api.letsencrypt.org/directory -d "blog.saber2pr.top" --manual --preferred-challenges dns-01 certonly
这里有几个参数:
在生成过程中,提示 Yes,No 的可以直接输入 Y 回车,最后一步会提示让你配置一个域名的 TXT 解析(这里先不要 Enter):
在域名控制台中,根据提示添加一个 TXT 解析,如图所示:
配置好解析后,再 Enter 确定,等待 cert.pem 等文件生成。生成成功会输出 pem 文件路径,一般为 /etc/letsencrypt/live。
因为是域名解析配置的txt记录,所以不能直接renew,需要手动重新记录一次。重新执行【4. 生成 HTTPS 证书】,然后重启nginx,执行nginx -s reload