如何在 Ubuntu 16.04 上使用 Let‘s Encrypt 为 Apache 添加安全证书

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站

介绍

本教程将向您展示如何在运行 Apache 作为 Web 服务器的 Ubuntu 16.04 服务器上设置来自 Let's Encrypt 的 TLS/SSL 证书。

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

先决条件

要完成本指南,您需要:

  • 一个安装了 Apache Web 服务器的 Ubuntu 16.04 服务器,具有非根的 sudo 启用用户,您可以按照我们的《初始化服务器设置指南》进行设置
  • 通过虚拟主机正确配置了一个或多个域名的 Apache Web 服务器,这些虚拟主机指定了 ServerName

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

步骤 1 --- 安装 Let's Encrypt 客户端

Let's Encrypt 证书是通过在服务器上运行的客户端软件获取的。官方客户端称为 Certbot,其开发人员维护了自己的 Ubuntu 软件仓库,其中包含最新版本。由于 Certbot 处于活跃开发中,因此值得使用该存储库安装比 Ubuntu 默认提供的更新版本。

首先,添加存储库:

command 复制代码
sudo add-apt-repository ppa:certbot/certbot

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

command 复制代码
sudo apt-get update

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

command 复制代码
sudo apt-get install python-certbot-apache

certbot Let's Encrypt 客户端现在已准备就绪。

步骤 2 --- 设置 SSL 证书

使用 Certbot 为 Apache 生成 SSL 证书非常简单。客户端将自动获取并安装一个新的 SSL 证书,该证书对作为参数提供的域名有效。

要执行交互式安装并获取仅涵盖单个域的证书,请像下面这样运行 certbot 命令,其中 example.com 是您的域:

command 复制代码
sudo certbot --apache -d example.com

如果要安装一个对多个域或子域有效的单个证书,可以将它们作为附加参数传递给命令。参数列表中的第一个域名将是 Let's Encrypt 用于创建证书的基本域,因此我们建议您首先传递裸顶级域名,然后是任何其他子域或别名:

command 复制代码
sudo certbot --apache -d example.com -d www.example.com

在此示例中,基本 域将是 example.com

如果您有多个虚拟主机,应该为每个虚拟主机运行 certbot 以生成每个新证书。您可以以任何方式在多个虚拟主机之间分发多个域和子域。

安装依赖项后,您将被要求逐步指导以自定义证书选项。您将被要求提供用于丢失密钥恢复和通知的电子邮件地址,并且您将能够选择启用 httphttps 访问,或者强制所有请求重定向到 https。通常最安全的做法是要求 https,除非您有特定需要使用未加密的 http 流量。

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

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

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

步骤 3 --- 验证 Certbot 自动续订

Let's Encrypt 证书只有 90 天的有效期。但是,我们安装的 certbot 软件包通过 systemd 定时器每天两次运行 certbot renew 来为我们处理这个问题。在非 systemd 发行版上,此功能由放置在 /etc/cron.d 中的 cron 脚本提供。该任务每天运行两次,并将更新任何在到期前三十天内的证书。

要测试续订过程,您可以使用 certbot 进行干运行:

command 复制代码
sudo certbot renew --dry-run

如果没有看到错误,那么一切都设置好了。必要时,Certbot 将更新您的证书并重新加载 Apache 以应用更改。如果自动续订过程失败,Let's Encrypt 将向您指定的电子邮件发送消息,警告您的证书即将到期。

结论

在本指南中,我们看到了如何安装来自 Let's Encrypt 的免费 SSL 证书,以保护使用 Apache 托管的网站。我们建议您定期查看官方 Let's Encrypt 博客以获取重要更新,并阅读 Certbot 文档以获取有关 Certbot 客户端的更多详细信息。

相关推荐
姓刘的哦17 分钟前
ubuntu中使用docker
linux·ubuntu·docker
MrWang.38 分钟前
Ubuntu中SSH服务器安装使用
服务器·ubuntu·ssh
_lizhiqiang41 分钟前
联想拯救者R9000P 网卡 Realtek 8852CE Ubuntu/Mint linux 系统睡眠后,无线网卡失效
linux·运维·ubuntu·r9000p·无线网卡·8852ce
饮长安千年月2 小时前
JavaSec-SpringBoot框架
java·spring boot·后端·计算机网络·安全·web安全·网络安全
大咖分享课2 小时前
容器安全最佳实践:云原生环境下的零信任架构实施
安全·云原生·架构
笑醉踏歌行3 小时前
NVM,Node.Js 管理工具
运维·ubuntu·node.js
临水逸3 小时前
可视化大屏工具对比:GoView、DataRoom、积木JimuBI、Metabase、DataEase、Apache Superset 与 Grafana
apache·grafana
SelectDB技术团队3 小时前
Apache Doris + MCP:Agent 时代的实时数据分析底座
人工智能·数据挖掘·数据分析·apache·mcp
淡水猫.3 小时前
ApacheSuperset CVE-2023-27524
安全·web安全
田猿笔记3 小时前
Apache DolphinScheduler 和 Apache Airflow 对比
apache