介绍
本教程将向您展示如何在运行 Apache 作为 Web 服务器的 Ubuntu 14.04 服务器上从 Let’s Encrypt设置 TLS/SSL 证书。
SSL证书用于网络服务器中加密服务器和客户端之间的流量,为访问您的应用程序的用户提供额外的安全性。
前提条件
为了完成本指南,您将需要:
当你准备好继续时,使用你的 sudo 启用帐户登录你的服务器。
第1步:下载 Let’s Encrypt 客户端
使用 Let's Encrypt 获得 SSL 证书的第一个步骤是将certbot
软件安装在您的服务器上。Certbot 开发人员维护自己的 Ubuntu 软件存储库与软件的最新版本.因为 Certbot 处于如此积极的开发中,值得使用此存储库来安装比 Ubuntu 提供的更新的 Certbot。
首先,添加存储器:
1sudo add-apt-repository ppa:certbot/certbot
接下来,更新包列表以获取新库的包信息:
1sudo apt-get update
最后,从apt-get
的新存储库中安装 Certbot:
1sudo apt-get install python-certbot-apache
certbot
Let’s Encrypt 客户端现在已经准备好使用。
第2步:设置SSL证书
使用certbot
Let’s Encrypt 客户端生成 Apache 的 SSL 证书非常简单,客户端将自动获得并安装一个新的 SSL 证书,该证书适用于作为参数提供的域。
要执行交互式安装并获得仅覆盖单个域的证书,请运行certbot
命令:
1sudo certbot --apache -d example.com
如果您想安装一个适用于多个域或子域的单一证书,您可以将其作为附加参数传输到命令中。参数列表中的第一个域名将是使用 Let’s Encrypt 创建该证书的 base 域名,因此我们建议您在列表中先传输裸体的顶级域名,然后再添加任何附加的子域或外名:
1sudo certbot --apache -d example.com -d www.example.com
对于这个例子, base 域名将是 example.com
。
您将被要求提供一个电子邮件地址,以恢复丢失的密钥和通知,您将需要同意让我们加密
服务条款,然后您将被要求选择允许http
和https
访问或强迫所有请求重定向到https
。
安装完成后,您应该能够在 /etc/letsencrypt/live
找到生成的证书文件,您可以通过以下链接验证您的 SSL 证书的状态(不要忘了用您的 base 域代替 example.com):
1https://www.ssllabs.com/ssltest/analyze.html?d=example.com&latest
您现在应该能够使用https
前缀访问您的网站。
步骤 3 – 验证 Certbot 自动更新
让我们加密证书只持续90天,然而,我们安装的Certbot包通过通过系统d计时器每天两次运行certbot renew
来为我们做好准备。
要测试更新过程,您可以使用certbot
进行干跑:
1sudo certbot renew --dry-run
如果你没有看到任何错误,你都已经设置了。当需要时,Certbot会更新你的证书并重新加载Apache来接收更改。如果自动更新过程有时失败,Let’s Encrypt将向你指定的电子邮件发送消息,通知你你的证书即将到期。
结论
在本指南中,我们看到了如何从 Let’s Encrypt 安装免费的 SSL 证书,以便保护由 Apache 托管的网站. 我们建议您定期查看官方 Let’s Encrypt 博客的重要更新,并阅读 Certbot 文档有关 Certbot 客户端的更多细节。