在网站上安装SSL的原因有很多,在本指南中,我们将通过获取员请使用CERTBOT加密SSL,我们将在CertBot中使用Acme-DNS-Certbot工具来完成此任务。
在开始本教程之前,您需要先做几件事。
- 您需要带有Ubuntu的VPS Server。
- 访问SSH 以root用户或具有sudo访问权限的用户
- A domain that you can add DNS records to that are hosted on that server
- 服务器的良好工作备份或快照备份
一旦这些工作准备就绪,我们就可以从指南开始。
为什么要安装SSL?
开发网站时,尽快安装SSL可能有益。 这样做的原因可能是:
- 用于保护数据,您在您的网站上
- 更好的SEO排名
- 在网站启动时建立网站访问者信任
安装Certbot
要将CERTBOT安装到服务器上,我们将使用CESTBOT开发人员维护的存储库,因为它们具有最新版本。 首先,添加存储库:
sudo apt-add-repository ppa:certbot/certbot
您将按”Enter”以确认您希望添加存储库。接下来,您将想要安装CERTBOT。您需要使用此命令:
sudo apt install certbot
恭喜你!您刚刚将Certbot安装到服务器上。不幸的是,这还不是本指南的结尾。接下来,我们将需要安装acme-dns-certbot。
安装acme-dns-certbot
既然您的服务器上安装了CERTBOT,您现在可以安装ACME-DNS-CERTBOT工具,这将允许您获取LET的加密SSL。
首先,您需要使用以下命令下载该工具:
wget https://github.com/joohoi/acme-dns-certbot-joohoi/raw/master/acme-dns-auth.py
下载后,您需要确保通过运行此操作编辑脚本:
chmod +x acme-dns-auth.py
现在,您将需要编辑脚本。首先,运行以下命令:
sed -i 's/python/python3/' acme-dns-auth.py
验证更改是否已进行。
cat acme-dns-auth.py
它现在应该看起来像这样:
这使得脚本正在使用Python 3,最新支持的版本。现在我们需要将文件移动到Let的加密目录:
sudo mv acme-dns-auth.py /etc/letsencrypt/
既然我们拥有下载和安装的一切,我们都可以获得让我们在域上的SSL加密SSL。
添加让我们加密SSL
现在,您可以使用acme-dns-auth工具将SSL添加到您的特定域。您将通过运行以下命令来运行初始脚本:
sudo certbot certonly --manual --manual-auth-hook /etc/letsencrypt/acme-dns-auth.py --preferred-challenges dns --debug-challenges -d *.your.domain -d your.domain
接下来,您需要替换实际域以获取”your.domain”部分。确保按”Y”接受操作。完成此后,您应该是这样的输出:
Please add the following CNAME record to your main DNS zone: _acme-challenge.luke.ga CNAME d8f11caf-f510-4bcd-b84e-0cef385e3953.auth.acme-dns.io.
Waiting for verification…
您将在域的DNS记录中添加CNAME。 如果您使用的是Hostwinds DNS Manager,它应该看起来像这样:
将CNAME添加到DNS管理器后,您需要返回终端,然后按”Enter”验证记录。这应该完成这个过程。
恭喜!您刚刚添加了一个让我们将SSL加密到域大约5年,但您如何更新证书,以便它不会过期?您需要运行此命令:
sudo certbot renew
这将自动续订您目前使用的证书。 您无需添加其他内容即可续订。 此命令将为您做任何事情。
现在,只要您在服务器上继续运行Certbot,就可以拥有一个安全域。您刚刚添加到域中的当前证书不会过期5年。