使用Let’s Encrypt部署SSL证书两三事

背景

SSL加密一直是个好东西,尤其是可以消除浏览器对我们的网站指出的《不安全》这个标签。
本文将简要地介绍如何使用DNS验证域名所有权并完成内网服务SSL证书部署。

Certbot

Certbot是EFF组织提供的ACEM工具,可以方便迅速的部署SSL证书。

安装Certbot

Certbot的安装过程很简洁,可以直接在官网选择你所使用的服务端平台来查看安装教程。
我们使用的是nginx,这里简要的摘录一些使用nginx部署的教程。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#安装Python和其他前置
sudo apt update
sudo apt install python3 python3-venv libaugeas0

#创建虚拟环境
sudo python3 -m venv /opt/certbot/
sudo /opt/certbot/bin/pip install --upgrade pip

#安装certbot
sudo /opt/certbot/bin/pip install certbot certbot-nginx

#链接到位于PATH的/usr/bin
sudo ln -s /opt/certbot/bin/certbot /usr/bin/certbot

通过Certbot获取SSL证书

在完成安装步骤之后,因为我们的服务器是内网服务器,因此不能继续参考官网教程。

1
sudo certbot --nginx  --preferred-challenges=dns

(其实与官网教程相比,就多设置了一下通过dns来验证域名所有权)
在这个过程中,certbot会要求我们在dns解析中设置一个TXT记录来验证域名所有权。