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

2023-11-12

介绍

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

本教程将向您展示如何设置 TLS/SSL 证书让我们加密用于保护 Ubuntu 14.04 服务器内 Apache 上的多个虚拟主机。

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

##先决条件

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

  • 具有非 root sudo 用户的 Ubuntu 14.04 服务器,您可以按照我们的说明进行设置初始服务器设置 guide
  • 功能齐全的 Apache Web 服务器安装托管多个虚拟主机

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

出于本指南的目的,我们将为域安装 Let’s Encrypt 证书example.com and test.com。这些将在整个指南中引用,但您应该在遵循时用您自己的域替换它们。

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

##步骤 1 — 下载 Let’s Encrypt 客户端

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

首先,添加存储库:

  1. sudo添加 apt-存储库 ppa:certbot/certbot

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

  1. sudo apt-get update

最后,从新存储库安装 Certbotapt-get:

  1. sudo apt-get installpython-certbot-apache

The certbotLet’s Encrypt 客户端现在可以使用了。

##Step 2 — 设置证书

使用以下命令为 Apache 生成 SSL 证书certbotLet’s Encrypt 客户端非常简单。客户端将自动获取并安装新的 SSL 证书,该证书对作为参数提供的域有效。

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

###生成第一个SSL证书

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

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

Run the certbot命令:

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

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

对于这个例子,base域将是example.com.

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

When the installation is finished, you should be able to find the generated certificate files at /etc/letsencrypt/live. You can verify the status of your SSL certificate with the following link (don’t forget to replace example.com with your base domain):

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

您现在应该可以使用以下方式访问您的网站https prefix.

生成第二个 SSL 证书

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

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

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

对于这个例子,base域将是test.com.

Again, you can verify the status of your SSL certificate with the following link (don’t forget to replace test.com with your base domain):

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

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

##步骤 3 — 设置自动续订

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

要每天运行续订检查,我们将使用cron,用于运行定期作业的标准系统服务。我们告诉cron打开并编辑名为 a 的文件可以做什么crontab.

  1. sudo crontab -e

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

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

The 15 3 * * *该行的一部分表示“每天凌晨 3:15 运行以下命令”。您可以随时选择。

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

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

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

##结论

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • Java中的多重继承

    今天我们将研究Java中的多重继承 不久前我写了几篇关于遗产 界面 and 作品在Java中 在这篇文章中 我们将研究 java 多重继承 然后比较组合和继承 Java中的多重继承 Multiple inheritance in java
  • Java 中的装饰器设计模式示例

    装饰器设计模式用于在运行时修改对象的功能 同时 同一类的其他实例不会受此影响 因此单个对象会获得修改后的行为 装饰设计模式是结构设计模式之一 如适配器模式 桥梁图案 复合图案 并使用抽象类或接口作品来实施 装饰设计模式 We use inh
  • 获取R中的行数和列数

    各位读者大家好 在本文中 我们将重点讨论 R 中的行和列的概念 即R编程中获取对象的行数和列数 详细 那么 让我们开始吧 Be it a matrix or a 数据框 我们按照行和列来处理数据 在数据分析领域 尤其是统计分析 我们需要了解
  • 如何在 CentOS、Rocky Linux、RHEL 和 Fedora 上安装 Java

    介绍 本教程将向您展示如何在基于 RPM 的 Linux 发行版的当前版本上安装 Java Red Hat Enterprise Linux CentOS Fedora 和 Rocky Linux Java 是一种流行的编程语言和软件平台
  • 如何在 Ubuntu 14.04 上使用 Nginx 安装 WordPress

    介绍 WordPress 是世界上最流行的 CMS 内容管理系统 它使您可以轻松启动并运行您的网站或博客 安装后 您可以在简单的 Web 界面中管理几乎所有内容 在本指南中 我们将介绍如何在 Ubuntu 14 04 服务器上安装 Word
  • 如何使用 Nmap 和 Tcpdump 测试您的防火墙配置

    介绍 为您的基础设施设置防火墙是为您的服务提供安全性的好方法 一旦您制定了满意的策略 下一步就是测试您的防火墙规则 重要的是要充分了解您的防火墙规则是否按照您的想法进行 并了解您的基础设施在外界看来是什么样子 在本指南中 我们将介绍一些可用
  • Linux 终端简介

    介绍 本教程是 Linux 基础知识系列的第一篇 涵盖终端 Linux 命令行和执行命令的入门知识 如果您是 Linux 新手 您将需要熟悉终端 因为它是与 Linux 服务器交互的标准方式 如果您想充分利用本教程 您将需要连接和使用 Li
  • 最小堆二叉树

    A Min Heap二叉树是二叉树 其中根节点具有树中的最小键 上述定义对于树中的所有子树都适用 这被称为最小堆属性 除了最后两层之外 几乎每个节点都必须有两个子节点 也就是说 除了最后两层之外 这几乎是一个完整的二叉树 由于上述两个属性成
  • 在 Python 3 中使用循环时如何使用 Break、Continue 和 Pass 语句

    介绍 Using for 循环 and while 循环Python 允许您以有效的方式自动化和重复任务 但有时 外部因素可能会影响程序的运行方式 发生这种情况时 您可能希望程序完全退出循环 在继续之前跳过循环的一部分 或者忽略该外部因素
  • 休眠教程

    最近写了很多hibernate教程 休眠是当前市场上最好的Java ORM工具之一 所以这篇文章就像是所有 hibernate 教程和示例文章的索引 您可以依次浏览这些 hibernate 教程 从头开始学习 hibernate 我很可能会
  • Java 中的线程安全

    Java中的线程安全是一个非常重要的话题 Java使用Java线程提供多线程环境支持 我们知道从同一个对象创建的多个线程共享对象变量 这可能会导致数据不一致当线程用于读取和更新共享数据时 线程安全 The reason for data i
  • 如何使用 Ansible 角色抽象您的基础设施环境

    介绍 Ansible 是一种配置管理工具 旨在为管理员和运营团队自动控制服务器 借助 Ansible 您可以使用单个中央服务器来控制和配置许多不同的远程系统 仅使用 SSH 和 Python 作为要求 Ansible 根据任务定义在其管理的
  • 如何在 CentOS 6 上使用 fail2ban 保护 SSH

    Status 已弃用 本文介绍不再受支持的 CentOS 版本 如果您当前运行的服务器运行 CentOS 6 我们强烈建议您升级或迁移到受支持的 CentOS 版本 Reason CentOS 6 于 2020 年 11 月 30 日达到生
  • 如何监控 DigitalOcean Droplet 上的 CPU 使用情况

    介绍 假设您的网站或应用程序比平时更慢 你如何开始调查这个问题 导致应用程序缓慢的原因有很多 但有时是因为服务器的 CPU 已满 本指南将帮助您了解您是否属于这种情况 我们将首先了解 Linux 服务器上两个最常引用的资源使用指标 CPU利
  • 如何在 Python 中将字符串转换为浮点数

    介绍 在这篇文章中 我们将使用Pythonfloat 函数将字符串转换为浮点数 我们还将使用Python的str 函数将浮点数转换为字符串 在使用数据类型进行计算和串联之前正确转换数据类型非常重要 以防止运行时错误 先决条件 为了完成本教程
  • 机器学习简介

    介绍 机器学习是人工智能 AI 的一个子领域 机器学习的目标通常是理解数据的结构并将该数据拟合到人们可以理解和利用的模型中 尽管机器学习是计算机科学的一个领域 但它与传统的计算方法不同 在传统计算中 算法是计算机用来计算或解决问题的显式编程
  • 如何将路由解析器与 Angular 路由器一起使用

    介绍 处理从 API 检索和显示数据的一种方法是将用户路由到组件 然后在该组件的ngOnInit钩子调用服务中的方法来获取必要的数据 在获取数据时 组件也许可以显示加载指示器 还有另一种方法可以使用所谓的route resolver 它允许
  • 如何在 Ubuntu 14.04 上安装 LAMP [快速入门]

    介绍 LAMP 堆栈 Linux Apache MySQL PHP 是一组开源软件 通常安装在一起以使服务器能够托管动态 PHP 网站和 Web 应用程序 本指南包括在 Ubuntu 14 04 上的单个服务器上设置 LAMP 堆栈的步骤
  • Python 中的引导采样

    这是关于 Python 中的 Bootstrap 采样的教程 在本教程中 我们将了解什么是引导 然后了解如何实现它 让我们开始吧 什么是引导抽样 引导抽样的定义如下 在统计学中 引导抽样是一种方法 涉及从数据源中重复抽取样本数据并进行替换
  • 如何在 Ubuntu 14.04 上为多个 Apache 虚拟主机设置 Let's Encrypt 证书

    介绍 SSL 证书在 Web 服务器内用于加密服务器和客户端之间的流量 为访问您的应用程序的用户提供额外的安全性 Let s Encrypt 提供了一种免费获取和安装受信任证书的简单方法 本教程将向您展示如何设置 TLS SSL 证书让我们