网站搜索

如何在 Debian 10 上为 Apache 设置免费 SSL 证书


面对日益增长的网络攻击和破坏,保护您的网站是保护您自己和网站访问者免受黑客攻击的首要任务。在本教程中,我们将探讨如何在 Debian 10 上使用 Let's Encrypt SSLApache 设置免费 SSL 证书强>。

Let's Encrypt 是由 Let's Encrypt 机构编写的免费 SSL 证书,有效期仅为 90 天,但可以随时续订。

什么是 SSL 证书?

在我们继续之前,什么是 SSL 证书? SSL 证书是一种对浏览器和 Web 服务器之间的通信进行加密的数字证书。这种加密可保证发送到网络服务器的任何信息都是私密且机密的。 SSL证书通常用于电子商务网站、银行网站以及PayPalPayoneerSkrill等汇款/汇款平台。

我如何知道我的网站受到保护?

采用 SSL 保护的网站的 URL 栏中有一个挂锁符号,后跟缩写词 https安全超文本传输协议),如以下屏幕截图所示。

如果网站未受 SSL 证书保护,Google 将在网址中的网站地址前显示“不安全”警告。

先决条件

在开始之前,请确保满足以下要求:

  1. Debian 10 Minimal Server 的运行实例。
  2. 在 Debian 10 上运行具有域设置的 Apache Web Server 实例。
  3. 已注册的完全限定域名 (FQDN),其中 A 记录指向 Debian 10 的 IP 地址域名提供商上的 Linux 系统。

在本教程中,我们将 howtoing.com 指向 IP 地址 192.168.0.104

第 1 步:在 Debian 10 中安装 Certbot

首先,我们需要在 Debian 10 实例上安装 CertbotCertbotEFF (Electronic Frontier Foundation) 开发的一款客户端软件,可获取 Let's Encrypt SSL 并将其设置为网络服务器。

为此,首先更新系统存储库。

sudo apt update

接下来,使用以下命令在 Debian 系统上添加存储库。

sudo apt install python-certbot-apache -t buster-backports

第2步:获取域名的SSL证书

成功安装certbot客户端后,让我们继续使用以下命令安装Let's Encrypt证书。

sudo certbot --apache -d your_domain -d www.your_domain

这将立即请求您提供电子邮件地址,如下所示。

接下来,系统将提示您同意服务条款。输入 A 并按 Enter

此外,系统还会询问您是否愿意与 EFF 基金会分享您的电子邮件地址并定期接收有关他们工作的更新信息。输入 Y 并按 Enter

之后,certbot 将联系让我们加密服务器并验证您请求的域是否已注册且有效。

然后系统会询问您是否要将所有请求重定向到 HTTPS。由于我们正在寻求加密 HTTP 访问,因此请键入 2 进行重定向,然后按 ENTER

最后,如果一切顺利,您将收到以下通知,表明您已在 Web 服务器上成功启用 HTTPS 协议以及 SSL 证书的到期日期。

步骤 3:在防火墙上允许 HTTPS 协议

如果启用 UFW 防火墙(出于安全原因总是建议这样做),您需要允许 HTTPS 流量通过它,否则,我们将无法在 Web 浏览器上访问我们的网站。

由于HTTPS运行在端口443上,因此通过运行打开该端口。

sudo ufw allow 443/tcp

接下来,重新加载防火墙以使更改生效。

sudo ufw reload

要验证更改是否已生效,请运行以下命令检查防火墙状态。

sudo ufw status

从上面的输出中可以看到,端口 443 已打开。

步骤 4:验证网站上的 HTTPS

完成所有配置并除尘后,是时候检查我们的网络服务器是否使用 https 协议了。打开网络浏览器,在地址栏中输入您的网站域名,后跟缩写词 https

如果您有点好奇并想查看有关 SSL 证书的更多信息,请单击如图所示的挂锁符号。

在下拉菜单中,“证书”选项显示为“有效”。

要探索更多信息,请单击该选项。将出现一个弹出窗口,其中包含所有详细信息,包括证书颁发者Let's Encrypt Authority)、颁发日期到期日期强>。

您还可以在 https://www.ssllabs.com/ssltest/ 上测试您网站的 SSL 证书。

步骤 5:检查自动续订 Certbot SSL 证书

Certbot 会在 SSL 证书到期前 30 天自动续订。要验证续订过程,请运行以下命令。

sudo certbot renew --dry-run

下面的输出确认一切正常,并且 SSL 证书将在 90 天到期期限之前自动续订。

结论

本教程终于结束了。在本教程中,您学习了如何使用 Let’s Encrypt 免费 SSL 保护 Apache Web 服务器。如果您有任何意见或疑问,请与我们联系。