如何在 Ubuntu 14.04 上为多个 Apache 虚拟主机设置 Let's Encrypt 证书如何在 Ubuntu 14.04 上为多个 Apache 虚拟主机设置 Let's Encrypt 证书如何在 Ubuntu 14.04 上为多个 Apache 虚拟主机设置 Let's Encrypt 证书如何在 Ubuntu 14.04 上为多个 Apache 虚拟主机设置 Let's Encrypt 证书
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Ubuntu 14.04 上为多个 Apache 虚拟主机设置 Let's Encrypt 证书

介绍

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

本教程将向您展示如何在 Ubuntu 14.04 服务器中设置来自 Let's Encrypt 的 TLS/SSL 证书,以保护 Apache 上的多个虚拟主机。

我们还将介绍如何使用 cron 作业自动执行证书更新过程。

##先决条件

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

  • 具有非 root sudo 用户的 Ubuntu 14.04 服务器,您可以按照我们的初始服务器设置指南进行设置
  • 托管多个虚拟主机的功能性 Apache 网络服务器安装

重要的是每个虚拟主机都设置在自己单独的配置文件中,并且可以通过浏览器从外部访问。有关如何在 Ubuntu 上正确设置 Apache 虚拟主机的详细指南,请访问此链接。

出于本指南的目的,我们将为域 example.com 和 test.com 安装 Let's Encrypt 证书。这些将在整个指南中被引用,但您应该在继续操作时用您自己的域替换它们。

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

##Step 1 — 下载 Let's Encrypt 客户端

使用 Let's Encrypt 获取 SSL 证书的第一步是在您的服务器上安装 certbot 软件。 Certbot 开发人员使用最新版本的软件维护自己的 Ubuntu 软件存储库。由于 Certbot 处于如此活跃的开发阶段,因此值得使用此存储库安装比 Ubuntu 提供的更新的 Certbot。

首先,添加存储库:

  1. sudo add-apt-repository ppa:certbot/certbot

您需要按 ENTER 接受。之后,更新包列表以获取新存储库的包信息:

  1. sudo apt-get update

最后,使用 apt-get 从新存储库安装 Certbot:

  1. sudo apt-get install python-certbot-apache

certbot Let's Encrypt 客户端现在可以使用了。

##Step 2 — 设置证书

使用 certbot Let's Encrypt 客户端为 Apache 生成 SSL 证书非常简单。客户端将自动获取并安装对作为参数提供的域有效的新 SSL 证书。

虽然可以将多个 Let's Encrypt 证书捆绑在一起,但即使域名不同,建议您为唯一的域名创建单独的证书。作为一般经验法则,只有特定域的子域才应该捆绑在一起。

###生成第一个SSL证书

我们将从为第一个虚拟主机 example.com 设置 SSL 证书开始。

我们将执行交互式安装并获得对域和子域有效的捆绑证书,即 example.com 作为基本域和 www.example.com 作为子域.您可以包括当前在 Apache 设置中配置的任何其他子域作为虚拟主机或别名。

使用以下命令运行 certbot 命令:

  1. sudo certbot --apache -d example.com -d www.example.com

请注意,参数列表中的第一个域名将是 Let's Encrypt 用于创建证书的基域,因此我们建议您将裸顶级域名作为列表中的第一个,然后是任何额外的子域或别名。

对于此示例,基本域将为 example.com。

安装依赖项后,您将看到一个自定义证书选项的分步指南。系统会要求您提供用于丢失密钥恢复和通知的电子邮件地址,并且您可以选择启用 http 和 https 访问或强制重定向所有请求到 https。

安装完成后,您应该能够在 /etc/letsencrypt/live 中找到生成的证书文件。您可以使用以下链接验证您的 SSL 证书的状态(不要忘记将 example.com 替换为您的基本域):

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

您现在应该能够使用 https 前缀访问您的网站。

生成第二个 SSL 证书

为您的其他虚拟主机生成证书应遵循上一步中描述的相同过程。

重复证书安装命令,现在使用您要使用 Let's Encrypt 保护的第二个虚拟主机:

  1. sudo certbot --apache -d test.com -d www.test.com

对于此示例,基本域将为 test.com。

同样,您可以使用以下链接验证您的 SSL 证书的状态(不要忘记将 test.com 替换为您的基本域):

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

如果您想为其他虚拟主机生成证书,只需重复该过程,并且不要忘记使用裸顶级域作为您的基域。

##Step 3 — 设置自动续订

Let's Encrypt 的证书有效期只有九十天。这是为了鼓励用户自动化他们的证书更新过程。我们需要设置一个定期运行的命令来检查过期证书并自动更新它们。

要每天运行续订检查,我们将使用 cron,这是一种用于运行定期作业的标准系统服务。我们通过打开和编辑一个名为 crontab 的文件来告诉 cron 要做什么。

  1. sudo crontab -e

您的文本编辑器将打开默认的 crontab,它是一个文本文件,其中包含一些帮助文本。在文件末尾粘贴以下行,然后保存并关闭它:

. . .
15 3 * * * /usr/bin/certbot renew --quiet

此行的 15 3 * * * 部分表示“每天凌晨 3:15 运行以下命令”。您可以选择任何时间。

Certbot 的 renew 命令将检查系统上安装的所有证书,并更新任何设置为在 30 天内到期的证书。 --quiet 告诉 Certbot 不要输出信息,也不要等待用户输入。

cron 现在将每天运行此命令。因为我们使用 --apache 插件安装了我们的证书,所以 Apache 也将重新加载以确保使用新证书。

有关如何创建和安排 cron 作业的更多信息,您可以在 VPS 指南中查看我们的如何使用 Cron 来自动执行任务。

##结论

在本指南中,我们了解了如何安装来自 Let's Encrypt 的免费 SSL 证书,以保护 Apache 上的多个虚拟主机。我们建议您不时查看官方 Let's Encrypt 博客以获取重要更新。

©2015-2025 艾丽卡 support@alaica.com