如何使用让我们在Ubuntu 14.04加密安全Apache

本教程将告诉您如何设置从咱们加密免费TLS / SSL证书运行Apache作为web服务器的Ubuntu 14.04服务器上。 SSL证书的Web服务器中使用的加密服务器和客户端之间的通信,为用户提供访问你的应用额外的安全性。

介绍

本教程将告诉您如何设置从TLS / SSL证书让我们的加密运行Apache作为web服务器的一个Ubuntu 14.04服务器上。 我们还将介绍如何使用cron作业自动执行证书续订过程。

Web服务器中使用SSL证书加密服务器和客户端之间的流量,为访问应用程序的用户提供额外的安全性。 Let's Encrypt提供了一种免费获取和安装受信任证书的简单方法。

先决条件

为了完成本指南,您需要:

当您准备好继续时,使用您的sudo帐户登录您的服务器。

第1步 - 下载让我们加密客户端

首先,我们将下载certbot-auto从EFF下载网站让我们的加密客户端。 客户端将在安装后根据需要自动下拉可用更新。

我们也可以下载certbot-auto键入咱们加密客户端在/ usr / local / sbin中的目录:

cd /usr/local/sbin
sudo wget https://dl.eff.org/certbot-auto

您现在应该有一个副本certbot-auto/usr/local/sbin的目录。

键入以下内容以使脚本可执行:

sudo chmod a+x /usr/local/sbin/certbot-auto

certbot-auto客户现在应该可以使用。

第2步 - 设置SSL证书

使用生成的SSL证书为Apache certbot-auto让我们的客户端进行加密是非常简单的。 客户端将自动获取并安装对作为参数提供的域有效的新SSL证书。

要执行交互式安装,并获得只覆盖单个域的证书,运行certbot-auto命令:

certbot-auto --apache -d example.com

如果要安装对多个域或子域有效的单个证书,则可以将它们作为附加参数传递给命令。 在参数列表中的第一个域名将用于让我们加密创建证书的基本域,因为这个原因,我们建议您在列表中第一个通过裸顶级域名,跟任何其它子域或别名:

certbot-auto --apache -d example.com -d www.example.com

对于这个例子,在基本域将example.com

安装依赖关系后,您将看到有关自定义证书选项的分步指南。 你会被要求提供一个电子邮件地址丢失了密钥恢复和通知,并且您将能够使两者之间选择httphttps访问或迫使所有请求重定向到https

当安装完成后,你应该能够找到生成的证书文件/etc/letsencrypt/live 您可以验证与以下链接您的SSL证书的状态(不要忘了你的基地域名替换example.com):

https://www.ssllabs.com/ssltest/analyze.html?d=example.com&latest

你现在应该可以使用访问您的网站https前缀。

第3步 - 设置自动续订

让我们加密证书有效期为90天,但建议您每60天更新证书以允许有误差。 certbot-auto让我们的加密客户端有一个renew命令,可自动检测当前安装的证书,并试图续约他们,如果他们从到期日不到30天了。

要为所有已安装的域触发更新过程,您应该运行:

certbot-auto renew

因为我们最近安装了证书,所以命令将只检查到期日期,并打印一条消息通知证书不是由于更新。 输出应该类似于:

Checking for new version...
Requesting root privileges to run letsencrypt...
   /home/sammy/.local/share/letsencrypt/bin/letsencrypt renew
Processing /etc/letsencrypt/renewal/example.com.conf

The following certs are not due for renewal yet:
  /etc/letsencrypt/live/example.com/fullchain.pem (skipped)
No renewals were attempted.

请注意,如果您创建了具有多个域的捆绑证书,则只有基本域名将显示在输出中,但续订应对此证书中包含的所有域有效。

确保您的证书不会过时的一个实用方法是创建一个定期执行自动更新命令的cron作业。 由于更新首先检查到期日期,并且仅当证书距离到期少于30天时才执行更新,因此可以安全地创建每周或甚至每天运行的cron作业。

让我们编辑crontab来创建一个新作业,它将每周运行续订命令。 要为root用户编辑crontab,请运行:

sudo crontab -e

将以下内容包含在一行中:


30 2 * * 1 /usr/local/sbin/certbot-auto renew >> /var/log/le-renew.log

保存并退出。 这将创建一个新的cron作业将执行letsencrypt-auto renew凌晨2:30命令每星期一。 由命令生成的输出将通过管道输送到位于日志文件/var/log/le-renewal.log

有关如何创建和调度cron作业的更多信息,你可以检查我们如何使用cron来自动执行任务的VPS引导。

结论

在本指南中,我们看到了如何从Let's Encrypt安装一个免费的SSL证书,以保护由Apache托管的网站。 我们建议您检查的官方咱们博客加密重要更新,不时。