记录Let's Encrypt的免费https证书申请

  • 服务器上安装 Certbot,直接在服务器上执行安装命令即可
sudo dnf install certbot python3-certbot-nginx
  • 可以让 Certbot 去根据 nginx 配置自动生成证书
sudo certbot --nginx --nginx-ctl /usr/local/nginx/sbin/nginx --nginx-server-root /usr/local/nginx/conf
An image
  • 但是由于我申请了很多个二级域名,我不想为每一个二级域名分别申请正式,而是直接申请一个*.quantanalysis.cn的证书就行了,所以这里我采用手动申请
sudo certbot certonly --manual --preferred-challenges dns -d "*.quantanalysis.cn" -d "quantanalysis.cn"
An image
  • 申请需要部署DNS TXT记录acme-challenge.quantanalysis.cn,这个到阿里云域名解析那里加一下就行了,加完了手动检测下试试
nslookup -q=txt _acme-challenge.quantanalysis.cn
An image
  • 然后就申请成功了,傻瓜式操作完成
An image
  • 需要注意的是我的 nginx 配置的ssl_certificatessl_certificate_key指向的文件路径和 Cerbot 生成的证书文件路径不一致,这里直接将新生成的 pem 文件 cp 过去,然后重启 nginx 服务就全部完成了
sudo cp /etc/letsencrypt/live/quantanalysis.cn/fullchain.pem /encrypt/quantanalysis_cn/
sudo cp /etc/letsencrypt/live/quantanalysis.cn/privkey.pem /encrypt/quantanalysis_cn/
An image An image




最后这里记录下全部的操作流程

// 安装 certbot
sudo dnf install certbot python3-certbot-nginx

// 配置证书机器人 certbot 检查我的nginx,可以自动多个生成一级域名的证书
sudo certbot --nginx --nginx-ctl /usr/local/nginx/sbin/nginx --nginx-server-root /usr/local/nginx/conf

// 手动生成 *.quantanalysis.cn 的证书
sudo certbot certonly --manual --preferred-challenges dns -d "*.quantanalysis.cn" -d "quantanalysis.cn"
sudo cp /etc/letsencrypt/live/quantanalysis.cn/fullchain.pem /encrypt/quantanalysis_cn/
sudo cp /etc/letsencrypt/live/quantanalysis.cn/privkey.pem /encrypt/quantanalysis_cn/

sudo certbot certonly --manual --preferred-challenges dns -d "*.babazhu.site" -d "babazhu.site"
sudo cp /etc/letsencrypt/live/babazhu.site/fullchain.pem /encrypt/babazhu_site/
sudo cp /etc/letsencrypt/live/babazhu.site/privkey.pem /encrypt/babazhu_site/