跳至主要內容

从零开始获取和使用免费的SSL证书保护您的网站

程序猿DD原创建站攻略建站攻略大约 8 分钟

从零开始获取和使用免费的SSL证书保护您的网站

如今,保护您的网站不仅是一项建议,而且是必要的。这就是SSL证书发挥作用的地方。它们对用户浏览器和网站之间传输的数据进行加密,确保隐私和安全。

在可用于获取SSL证书的各种选项中,受欢迎程度仅次于Let's Encrypt,ZeroSSL是首选之一,特别是对于那些寻求免费且可靠的解决方案的人来说。

本文深入探讨了如何使用ZeroSSL的免费SSL证书来保护您的网站。

ZeroSSL 简介

ZeroSSL是一个免费的、自动化的、开放的证书颁发机构,提供SSL证书。它以其用户友好的SSL认证方法而闻名,即使是技术知识有限的人也可以访问它。

与 Let's Encrypt 类似,ZeroSSL 提供 90 天的免费证书,需要在到期前续订。但是,这两个平台之间存在一些差异,因此让我们快速提及它们。

ZeroSSL vs Let's Encrypt

Let's Encrypt 是免费 SSL 证书的热门选择。与ZeroSSL一样,它是自动化和开放的。主要区别在于它们的方法和附加功能。

Let's Encrypt 更适合自动化,并得到各种托管服务提供商的广泛支持,使其成为许多喜欢一劳永逸解决方案的用户的首选。

另一方面,ZeroSSL吸引了那些希望获得更用户友好的方法和额外支持的用户。与Let's Encrypt相比,ZeroSSL还为您提供:

  • 通过方便的用户界面管理证书
  • 通过电子邮件提供域名验证
  • 无速率限制
  • SSL监控
  • RESP API 支持

最重要的是,虽然两者都提供免费的SSL证书,但ZeroSSL提供了延长有效期的付费选项和附加功能,这可能会使一些企业受益。

解释清楚后,让我们继续了解获取免费ZeroSSL证书所涉及的步骤。

实践操作

1. 注册ZeroSSL

您必须有一个注册帐户才能从ZeroSSL获得免费的SSL证书。因此,作为第一步,使用您喜欢的网络浏览器导航到 ZeroSSL 网站,然后单击Get Free SSL按钮。

注册ZeroSSL

通过输入有效的电子邮件地址,选择密码,然后点击“下一步”,从下一页注册免费计划。

注册ZeroSSL

2. 创建新的 SSL 证书

注册完成之后,您将自动登录到仪表板。要开始颁发新的SSL证书,请单击New Certificate按钮。

创建新的 SSL 证书

提供您需要免费SSL证书的域名。如果它是主域(如“didispace.com”)而不是子域(如“dev.didispace.com”),ZeroSSl默认会在证书中添加“www”前缀,这意味着它也将覆盖“www.didispace.com”。单击“下一步”按钮。

指定域名

设置“90天证书”有效期,这是ZeroSSL的免费选项,然后单击“下一步”继续。

选择SSL证书的有效期

确保启用了“Auto-Generate CSR”选项。CSR 或证书签名请求是在申请 SSL/TLS 证书时提供给证书颁发机构 (CA) 的编码文本块。

它包含将包含在证书中的信息,例如组织的名称、域名、位置和国家/地区。CSR 还包含将包含在证书中的公钥,它与私钥一起生成,私钥必须保持安全且不得共享。

单击“下一步”按钮进入颁发免费SSL证书的最后一步。

将 "自动生成 CSR "设置为启用

确保在下一个屏幕上选择了 "Free" 选项。按 "下一步 "按钮。

创建新的 SSL 证书

3. 验证域名所有权

证书已经准备就绪,但在获得证书之前,必须对域名所有权进行验证。简单地说,域名所有权验证就像证明你是房子的主人一样。当你想证明一个网站的域名(就像互联网上的房屋地址)属于你时,你必须通过一个程序来证明。

ZeroSSL 提供三种验证方法:电子邮件、DNS 和 HTTP 文件上传。虽然 DNS 和 HTTP 文件上传需要服务器端配置,因此需要更多的专业技术知识,并使验证过程复杂化,但电子邮件验证是最快速、最简单的方法。

因此,我们将把它作为证明域名所有权的一个选项,请选择它。

您将看到五个常用标准用户名的列表,这些用户名通常与用于域管理的电子邮件地址相关联。这些用户名包括:

  • admin@your-domain.name
  • administrator@your-domain.name
  • hostmaster@your-domain.name
  • postmaster@your-domain.name
  • webmaster@your-domain.name

要成功通过验证,请确保您拥有访问与所选名称相关联的电子邮件帐户所需的凭证(用户名和密码)。选择后点击 "下一步 "按钮继续。

验证域名所有权

单击 "Verify Domain" 按钮后,系统会向指定的电子邮件地址发送一封电子邮件,其中包含一个链接和域名验证码。

验证域名所有权

邮件本身如下所示。将验证密钥复制到剪贴板,然后点击 "转到验证页面 "链接。

验证域名所有权

您将被重定向到一个页面,在此进行验证。在提供的字段中输入您从电子邮件中复制的验证码,然后点击 "下一步"。

验证域名所有权

您应该会收到一条确认域名所有权验证成功的信息。现在您可以安全地关闭此窗口。

域验证成功

4.服务器上安装 SSL 证书

返回 ZeroSSL 页面,点击 "Refresh Status" 按钮。您将收到确认域名验证成功的通知。随后,会出现 "Install Certificate" 按钮。点击它。

在 Web 服务器上安装 SSL 证书

要将SSL证书作为ZIP文件下载到您的计算机,请单击“下载证书(.zip)”。然后,按“下一步”按钮并暂时保持页面打开状态。

例如,使用 SCP 命令等工具将 ZeroSSL 证书复制到托管域网站的服务器。

在您喜欢的存储证书的位置创建一个文件夹。请记住将“your-domain.name”更改为域的实际名称。

sudo mkdir -p /certs/your-domain.name

然后将ZIP文件解压到以下目录:

sudo unzip your-domain.name.zip -d /certs/your-domain.name/

接下来,导航到该文件夹并列出其内容。它应包含以下三个文件:

  • ca_bundle.crt
  • certificate.crt
  • private.key

您应该将“ca_bundle.crt”和“certificate.crt”合并到一个文件中,该文件将命名为“zerossl_combined.crt”。幸运的是,使用 cat 命令可以轻松完成此操作,如下所示:

sudo bash -c 'cat certificate.crt ca_bundle.crt >> zerossl_combined.crt'

目前为止,一切都好!您现在必须配置 Web 服务器以使用新创建的 SSL 证书。以下是如何为两个最流行的 Web 服务器 Nginx 和 Apache 执行此操作。

在Nginx中配置SSL证书

您需要在 Nginx 中为您的域配置虚拟主机(服务器块)。由于这超出了本指南的范围,如果您需要了解如何操作,如果您需要帮助,可以参考我们关于此主题的综合指南。

下面,我们展示了 Nginx 虚拟主机配置中必须存在的主要部分,以便 Web 服务器使用我们的新 SSL 证书,因为第一个服务器块用于将所有 HTTP 请求重定向到 HTTPS。

当然,不要忘记将“your-domain.name”部分替换为您的特定域。

server {
    listen 80;
    server_name your-domain.name www.your-domain.name;
    return 301 https:$server_name$request_uri;
}

server {
    listen 443 ssl;
    server_name your-domain.name www.your-domain.name;
    root /var/www/html;

    ssl_certificate /certs/your-domain.name/zerossl_combined.crt;
    ssl_certificate_key /certs/your-domain.name/private.key;
}

最后,重启 Nginx 服务器。

sudo systemctl restart nginx

在Apache中配置SSL证书

要使Apache能够使用SSL证书,首先必须激活其SSL模块。您可以通过执行以下命令轻松完成此操作:

sudo a2enmod ssl

然后,为您的域创建虚拟主机:

sudo nano /etc/apache2/sites-available/your-domain.name.conf

并放入以下配置,再次记住将“your-domain.name”部分替换为当前部分:

<VirtualHost *:80>
    ServerName your-domain.name
    ServerAlias www.your-domain.name
    Redirect permanent / https://www.your-domain.name/
</VirtualHost>

<VirtualHost *:443>
    ServerName your-domain.name
    DocumentRoot /var/www/html/

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    SSLEngine on
    SSLCertificateFile /certs/your-domain.name/zerossl_combined.crt.crt
    SSLCertificateKeyFile /certs/your-domain.name/private.key
</VirtualHost>

保存文件。最后,启用新的虚拟域并重新启动 Apache Web 服务器:

sudo a2ensite your-domain.name.conf
sudo systemctl restart apache2

5. 测试您的 ZeroSSL 证书

返回ZeroSSL网站,然后单击“Check Installation”按钮。

如果 Web 服务器上的 SSL 证书设置配置正确,您将看到一个绿色复选标记,指示“Installation Complete”。

但是,如果您的配置出现问题,您将收到通知。

当然,最有效的验证方法是将浏览器定向到您的域。通过严格遵守本手册中的说明,您应该会收到令人垂涎的挂锁符号,表明您的网站拥有已正确设置的有效SSL证书。

您的ZeroSSL网站帐户还使您能够轻松有效地管理SSL证书。

总结

ZeroSSL为网站所有者提供了一种用户友好且易于访问的方式,以使用免费的SSL证书来保护他们的在线状态。本综合指南详细介绍了从Web服务器上的ZeroSSL获取,验证和安装免费SSL证书的步骤。

本文翻译自:https://linuxiac.com/zerossl-how-to-install-ssl-certificate/

上次编辑于:
贡献者: 程序猿DD