从零开始获取和使用免费的SSL证书保护您的网站
从零开始获取和使用免费的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
按钮。
通过输入有效的电子邮件地址,选择密码,然后点击“下一步”,从下一页注册免费计划。
2. 创建新的 SSL 证书
注册完成之后,您将自动登录到仪表板。要开始颁发新的SSL证书,请单击New Certificate
按钮。
提供您需要免费SSL证书的域名。如果它是主域(如“didispace.com”)而不是子域(如“dev.didispace.com”),ZeroSSl默认会在证书中添加“www”前缀,这意味着它也将覆盖“www.didispace.com”。单击“下一步”按钮。
设置“90天证书”有效期,这是ZeroSSL的免费选项,然后单击“下一步”继续。
确保启用了“Auto-Generate CSR”选项。CSR 或证书签名请求是在申请 SSL/TLS 证书时提供给证书颁发机构 (CA) 的编码文本块。
它包含将包含在证书中的信息,例如组织的名称、域名、位置和国家/地区。CSR 还包含将包含在证书中的公钥,它与私钥一起生成,私钥必须保持安全且不得共享。
单击“下一步”按钮进入颁发免费SSL证书的最后一步。
确保在下一个屏幕上选择了 "Free" 选项。按 "下一步 "按钮。
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" 按钮。点击它。
要将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/