如何为 WordPress 获取免费 SSL 证书和 HTTPS
已发表: 2018-06-12SSL 证书通过加密您的网站和最终用户之间的连接来保护您的网站。
由于 58.4% 的用户主要或仅使用 Chrome 浏览器,因此确保您的 WordPress 网站通过 SSL 和 HTTPS 确保安全以帮助访问者信任您的网站非常重要。
获取 SSL 证书既快捷又免费。 在自动化客户端 Certbot 的帮助下,Let's Encrypt 是一家著名且值得信赖的免费 SSL 证书提供商。
今天,我将分享有关 SSL、HTTPS、Let's Encrypt 和 Certbot 的更多详细信息,以及如何在您的 Web 服务器上手动安装、管理和更新免费 SSL 证书,以保护您的 WordPress 网站,使其在 Chrome 中无错误显示.
什么是 SSL 和 HTTPS,为什么需要它?
SSL 证书是由证书颁发机构 (CA) 为将加密密钥绑定到其附加网站的域名颁发的公共数字文档。
所有具有有效 SSL 证书的网站都使用 HTTPS 和 SSL 协议,该协议对网站服务器和最终用户浏览器之间的通信进行加密。
为您的网站拥有有效的 SSL 证书可确认您的网站对于用户输入信息是值得信赖的,而不是简单地在其 URL 中使用“https”的网站。 它还可以防止黑客劫持连接以获得未经授权的访问。
有关详细信息,请查看为什么 WordPress 网站的 HTTPS 和 SSL 是绝对必要的。
什么是让我们加密?
Let's Encrypt 是由 Internet Security Research Group (ISRG) 提供的自动化 CA,这是一个致力于使 Internet 成为更安全的地方的非营利组织。 Let's Encrypt 仅颁发免费的 SSL 证书,并且通过在 Web 服务器上运行证书管理代理来加快该过程。
证书类型
Let's Encrypt 对域验证 (DV) 证书进行身份验证,这是 CA 提供的最低级别证书,并且仅确认网站拥有其声称的域名。
截至 2018 年 1 月,Let's Encrypt 还提供通配符证书,允许您使用单个证书保护网站的所有子域。 例如, info.example.com和about.example.com 。
您还必须具有特定的 ACMEv2 协议,因此,客户端已更新为支持 ACMEv2。
有关详细信息,请查看 ACME 客户端实现。
Let's Encrypt 证书有效期为 90 天,无一例外,他们建议每 60 天更新一次,这样您就有 30 天的时间来解决任何可能的问题。 虽然,可以配置自动续订,具体取决于您的服务器。
如何获得证书
从 Let's Encrypt 获得免费 SSL 证书的最简单方法是通过您的虚拟主机。
Let's Encrypt 与许多 web 主机以及许多默认情况下启用 Let's Encrypt 并重定向到 HTTPS 的提供商合作。
如果您的托管服务不知道 Let's Encrypt,您可以联系他们并让他们知道这是一个选项。
如果您的托管服务不兼容,在您的 Web 服务器上放置 Let's Encrypt 免费 SSL 证书的最简单方法之一是使用 Certbot,它是一个自动客户端,可在您的 Web 服务器上获取和部署您的 SSL 证书。
根据 Certbot 的文档,“Certbot 旨在建立一个在结构上更加私密、安全且不受审查的网络。”

安装 Certbot
Certbot 为各种不同的操作系统和服务器打包。 找出理想设置的最佳方法是访问 Certbot 的网站并阅读具体的安装说明。
在大多数情况下,您需要 root 访问权限或管理员级别的功能来授权 CertBot。
安装通常通过 SSH 进行,SSH 是一种安全的 shell 加密协议,允许通过不安全的网络传输文件。 流行的 SSH 客户端是 Mac OS X 的终端和 Windows 的 PuTTY。
安装证书
根据您的设置和站点的需要,有多种方法可以在您的站点上安装 Let's Encrypt DV 证书。 Certbot 网站会根据您的特定服务器设置引导您完成安装过程。
如前所述,如果他们选择启用此选项,您还可以通过您的网络主机自动安装证书。 由于每个虚拟主机各不相同,请查阅您主机的文档以获取设置说明。
如果您想安装通配符证书,则必须使用 DNS 插件。
您可以查看 Certbot 文档了解详细信息。
独立模式
例如,如果您没有 Apache 或 Nginx 之类的服务器软件,并且您对获取任何软件不感兴趣,那么独立插件方法是一个合适的选择。
该插件需要绑定到 Web 服务器端口 80(用于 HTTP)或 443(用于 SSL)以验证域,因此您可能需要事先释放服务器上的这些端口。
它们都用于加载您的站点,但如果两者都不可用,Certbot 可能会抛出错误。 关闭和打开端口的过程取决于您的操作软件,因此请根据需要查阅所需的特定文档。

在确保安装了 Certbot 并且端口 80 或 443 可用后,在您的 SSH 客户端中输入以下命令。 请注意,根据您使用的端口,命令会略有不同。
//For Port 80 certbot certonly --standalone --preferred-challenges http -d example.com //For Port 443 certbot certonly --standalone --preferred-challenges tls-sni -d example.com
分解它, certonly获得(或在某些情况下,更新)证书,但不安装它, -standalone告诉 Certbot 运行独立的 Web 服务器进行身份验证, -preferred-challenges指定 Certbot 将使用的帖子和-d指定您为其请求 SSL 证书的域名。
运行命令后,系统会提示您输入您的电子邮件地址并同意条款和条件。
完成后,您将收到一条消息,告诉您该过程已完成以及证书的位置。
Webroot 插件
如果您有能力修改服务器上的内容,则可以选择使用 webroot 方法。 安装证书的 webroot 方法将验证文件放置在 Web 服务器上的特定位置。
这种方法很方便,因为您不必切换任何端口,也不必担心在安装过程中关闭活动站点。
知道要使用 webroot 插件可能很重要,您需要确保您的服务器配置为显示来自隐藏目录的文件,特别是 /.well-known 文件夹。
在您的 SSH 客户端中运行此命令以安装 webroot 方法:
certbot certonly --webroot -w /var/www/example -d www.example.com -d example.com
certonly命令获取证书, –webroot告诉 Certbot 我们正在使用的方法,您需要包含-w或–webroot-path以及包含 Web 服务器提供的文件的最上层目录的文件路径, –webroot-path /var/www/html是一个通用的 webroot 路径。
有关详细信息,请查看 Certbot 文档。
您的证书所在的位置
所有密钥和颁发的证书都可以在/etc/letsencrypt/live/$domain中找到,更新发生时会保持更新。
以下是证书中的文件列表:
- Privkey.pem – 您的私钥存储在此处,应保密,即使对 Certbot 开发人员也是如此。 但是,您必须保持服务器可以访问它,但只能由 root 用户访问。
- Fullchain.pem - 你所有的证书都存储在这里,如果有多个,第一个是服务器证书。
- Cert.pem - 这包含单个服务器证书。
- Chain.pem——所有中间证书以及验证服务器所需的证书都存储在这里。
如果您想检查目录的文件内容,请在 SSH 客户端中使用 ls /etc/letsencrypt/live/example.com命令来显示列表。
更新您的证书
Certbot 旨在通过检查所有已安装的证书是否即将到期,然后尝试更新它们,从而使更新尽可能容易。
下面的命令检查多个证书,并始终考虑它们是否即将到期。
certbot renew
它将更新任何剩余有效期少于 30 天的证书。 您可以根据需要尽可能频繁地运行它,因为没有提前更新的危险。
如果您有多个域名并且只想更新其中一个,使用certonly的这个命令可以解决问题:
certbot certonly -n -d example.com -d www.example.com
请注意:Certbot 建议包含-n或–noninteractive以防止阻止用户输入。
结论
安装 SSL 证书是任何 WordPress 网站必不可少的安全措施。 Let's Encrypt 和 Certbot 提供快速、免费的方法来使用 HTTPS 和 SSL 证书保护您的域和网站。
有关全面的详细信息,请查看广泛的 Certbot 文档和社区论坛。
您是否能够使用 Let's Encrypt 成功安装免费的 SSL 证书? 您安装 SSL 证书的原因是什么? 在下面的评论中分享您的经验。