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

在本教程中,我们将解释如何安装Certbot客户端以从Debian 10上的Let for Encrypt for Apache获取免费SSL证书。

在越来越多的网络攻击和漏洞攻击中,保护您的网站是保护您自己和您的网站访问者免受黑客攻击的首要任务。 在本教程中,我们将探讨如何使用Debian 10上的Let for Encrypt SSL for Apache设置免费SSL证书

Let's Encrypt是由Let的加密权限编写的免费SSL证书,该证书仅在90天内有效,但可以在任何给定时间续订。

什么是SSL证书?

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

我怎么知道我的网站受到保护?

受SSL保护的网站在URL栏中有一个挂锁符号,后跟首字母缩写https超文本传输​​协议安全 ),如下面的屏幕截图所示。

检查网站上的SSL证书

检查网站上的SSL证书

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

先决条件

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

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

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

第1步:在Debian 10中安装Certbot

首先,我们需要在Debian 10实例上安装Certbot CertbotEFF电子前沿基金会 )的一个客户端软件,可以获取Let的加密SSL并将其设置在Web服务器上。

要实现这一点,首先要更新系统存储库。

$ sudo apt update

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

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

第2步:获取域的SSL证书

成功安装certbot客户端后,让我们继续并使用以下命令安装Let的加密证书。

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

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

获取让我们为域加密SSL证书

获取让我们为域加密SSL证书

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

接受让我们加密服务条款

接受让我们加密服务条款

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

与EFF共享电子邮件地址

与EFF共享电子邮件地址

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

在域上安装让我们加密SSL证书

在域上安装让我们加密SSL证书

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

将HTTP重定向到域上的HTTPS

将HTTP重定向到域上的HTTPS

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

启用我们在域上加密SSL证书

启用我们在域上加密SSL证书

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

如果启用了UFW防火墙 ,出于安全原因始终建议使用UFW防火墙 ,则需要允许通过它的HTTPS流量,否则,我们将无法在Web浏览器上访问我们的站点。

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

$ sudo ufw allow 443/tcp

接下来,重新加载防火墙以实现更改。

$ sudo ufw reload

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

$ sudo ufw status
验证UFW防火墙上的HTTPS端口

验证UFW防火墙上的HTTPS端口

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

第4步:验证网站上的HTTPS

完成所有配置后,我们需要检查并查看我们的Web服务器是否使用https协议。 前往您的Web浏览器,在URL栏中键入您的网站域名,然后输入首字母缩写词https

检查网站上的SSL证书

检查网站上的SSL证书

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

验证网站上的HTTPS

验证网站上的HTTPS

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

要了解更多信息,请单击该选项。 弹出窗口显示所有详细信息,包括证书颁发者Let's Encrypt Authority ), 发布日期到期日期

检查SSL证书颁发者

检查SSL证书颁发者

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

测试网站的SSL证书

测试网站的SSL证书

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

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

$ sudo certbot renew --dry-run

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

检查Certbot SSL证书自动续订

检查Certbot SSL证书自动续订

结论

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