在 Lightsail 上使用 HTTPS 保护您的 WordPress 网站
启用 WordPress 网站的安全超文本传输协议(HTTPS),确保网站在发送和接收加密数据时的安全性。非安全网站的地址以 http 开头(如 http://example.com),而安全网站的地址以 https 开头(如 https://example.com)。即使您的网站主要是提供参考信心,仍建议您启用 HTTPS。这是因为如未启用 HTTPS,大多数 Web 浏览器会通知网站访问者您的网站是不安全的,并且您的网站将在搜索引擎结果中排名较低。
提示
Lightsail 提供引导式工作流程,可在您的 WordPress 实例上自动安装和配置 SSL/TLS Let's Encrypt 证书。我们强烈建议使用该工作流程,而不是按照本教程中的手动步骤操作。有关更多信息,请参阅启动并配置 WordPress 实例。
本指南将介绍如何使用 Bitnami HTTPS 配置工具(bncert),以在 Amazon Lightsail 的由 Bitnami 认证的 WordPress 实例上启用 HTTPS。它允许您仅为进行请求时指定的域和子域请求证书。或者,也可以使用 Certbot 工具,为域请求证书和为子域请求通配符证书。通配符证书适用于任何子域,如果您不知道将使用哪个子域将流量引导到您的实例,这样做可以带来好处。但是,Certbot 不会像 bncert 工具那样自动续订证书。如果您使用 Certbot,则必须每 90 天手动续订一次证书。有关使用 Certbot 启用 HTTPS 的更多信息,请参阅教程:将 Let's Encrypt SSL 证书与 WordPress 实例结合使用。
内容
步骤 1:了解流程
注意
在本部分中,您可了解此过程的简要概述。执行此过程的具体步骤包含在本指南的后续步骤中。
若要为您的 WordPress 网站启用 HTTPS,请连接到 Lightsail 实例,然后使用 bncert 工具从 Let's Encryptexample.com) 和备用域(www.example.com、blog.example.com 等),如果有的话。Let's Encrypt 通过要求您在域的 DNS 中创建 TXT 记录,或验证这些域是否已将流量引导到您发出请求的实例的公有 IP 地址,来验证您是否拥有这些域。
验证您的证书后,您可以配置您的 WordPress 网站,自动将访问者从 HTTP 重新导向到 HTTPS(http://example.com 重新导向到 https://example.com),以便强制访问者使用加密连接。您还可以将您的网站配置为从 www 子域名自动重新导向到顶级域(https://www.example.com 重新导向到 https://example.com),反之亦然(https://example.com 重新导向到 https://www.example.com)。也可以使用 bncert 工具执行这些重新导向操作。
Let's Encrypt 要求您每隔 90 天续订一次证书,以便在您的网站上维持 HTTPS。bncert工具会自动为您续订证书,这样您就可以花更多时间关注您的网站。
管理工具的限制
bncert 工具有以下限制:
-
所有由 Bitnami 认证的 WordPress 实例在创建时没有预安装此工具。在 Lightsail 上创建的 WordPress 实例过一段时间后将要求您手动安装
bncert工具。本指南的步骤 4 向您介绍如何确认该工具已安装在您的实例上,以及在没有安装的情况下如何安装。 -
您可以仅为进行请求时指定的域和子域请求证书。这与 Certbot 工具不同,它可以为域请求证书和为子域请求通配符证书。通配符证书适用于任何子域,如果您不知道将使用哪个子域将流量引导到您的实例,这样做可以带来好处。但是,Certbot 不会像
bncert工具那样自动续订证书。如果您使用 Certbot,则必须每 90 天手动续订一次证书。有关使用 Certbot 启用 HTTPS 的更多信息,请参阅教程:将 Let's Encrypt SSL 证书与 Amazon Lightsail 中的 WordPress 实例结合使用。
步骤 2:完成先决条件
请完成以下先决条件(如果尚未完成):
-
在 Lightsail 中创建 WordPress 实例,然后在您的实例上配置您的网站。有关更多信息,请参阅 Amazon Lightsail 中的基于 Linux/Unix 的实例入门。
-
将静态 IP 附加到实例。如果您停止和启动实例,则实例的公有 IP 地址会出现更改。如果您停止和启动实例,静态 IP 不会更改。有关更多信息,请参阅创建静态 IP 并将其附加到 Amazon Lightsail 中的实例。
-
完成配置后创建 WordPress 实例的快照,或启用自动快照。快照可用作备份,如果原始实例出现问题,您便可以从中创建另一个实例。有关更多信息,请参阅创建 Linux 或 Unix 实例的快照或在 Amazon Lightsail 中启用或禁用实例或磁盘的自动快照。
-
将 DNS 记录添加到域的 DNS 中,其将顶点域 (
example.com) 及其www子域 (www.example.com)的流量引导到 Lightsail 中的 WordPress 实例的公有 IP 地址上。您可以在域的当前 DNS 托管提供商处完成这些操作。或者,如果您将域的 DNS 管理工作转移给 Lightsail,则可以使用 Lightsail 中的 DNS 区域完成这些操作。要了解更多信息,请参阅 DNS。重要
将 DNS 记录添加到要用于 WordPress 网站的所有域的 DNS。所有这些域应该将流量路由到 WordPress 网站的公有 IP 地址。
bncertbncert 工具将仅为当前将流量引导到 WordPress 实例的公有 IP 地址的域颁发证书。
步骤 3:连接到您的实例
完成以下步骤,以使用 Lightsail 控制台中基于浏览器的 SSH 客户端连接到您的实例。
-
登录 Lightsail 控制台
。 -
在左侧导航窗口中,选择 WordPress 实例的 SSH 快速连接图标。
将打开基于浏览器的 SSH 客户端终端窗口。如果您看到 Bitnami 徽标(如以下示例所示),则您通过 SSH 成功连接到您的实例。
步骤 4:确认已在实例上安装了 bncert 工具
完成以下步骤以确保 Bitnami HTTPS 配置工具 (bncert) 已安装到实例上。所有由 Bitnami 认证的 WordPress 实例在创建时没有预安装此工具。在 Lightsail 上创建的 WordPress 实例过一段时间后将要求您手动安装 bncert 工具。此过程包括在未安装工具时安装该工具的步骤。
-
要运行
bncert工具,请输入以下命令。sudo /opt/bitnami/bncert-tool-
如果您在响应中看到
command not found(如以下示例所示),则bncert工具未安装到实例上。继续执行此过程的后续步骤以在实例上安装bncert工具。重要
bncert工具只能用于由 Bitnami 认证的 WordPress 实例。或者,您可以使用 Certbot 工具在您的 WordPress 实例上启用 HTTPS。有关更多信息,请参阅教程:将 Let's Encrypt SSL 证书与 WordPress 实例结合使用。
-
如果您在响应中看到
Welcome to the Bitnami HTTPS configuration tool(如以下示例所示),则bncert工具已安装到实例上。继续执行本指南的步骤 5:在 WordPress 实例上启用 HTTPS 部分。
-
-
输入以下命令以将
bncert运行文件下载到您的实例中。wget -O bncert-linux-x64.run https://downloads.bitnami.com/files/bncert/latest/bncert-linux-x64.run -
输入以下命令以在您的实例上创建
bncert运行文件的目录。sudo mkdir /opt/bitnami/bncert -
输入以下命令以将下载的
bncert运行文件移动到您创建的新目录。sudo mv bncert-linux-x64.run /opt/bitnami/bncert/ -
输入以下命令以创建可作为程序执行的
bncert运行文件。sudo chmod +x /opt/bitnami/bncert/bncert-linux-x64.run -
输入以下命令以创建当您输入
sudo /opt/bitnami/bncert-tool命令时运行bncert工具的符号链接。sudo ln -s /opt/bitnami/bncert/bncert-linux-x64.run /opt/bitnami/bncert-tool您现在已完成在实例上安装
bncert工具的步骤。继续执行本指南的步骤 5:在 WordPress 实例上启用 HTTPS 部分。
步骤 5:在 WordPress 实例上启用 HTTPS
完成以下过程,在您确认 bncert 工具已安装到实例上之后,在 WordPress 实例上启用 HTTPS。
-
要运行
bncert工具,请输入以下命令。sudo /opt/bitnami/bncert-tool您应看到类似于以下示例的消息。
如果
bncert工具已在您的实例上安装了一段时间,那么您可能会看到一条消息,指示该工具的更新版本可供使用。按以下示例中所示选择下载它,然后再次输入sudo /opt/bitnami/bncert-tool命令来运行bncert工具。
-
输入用空格分隔的主域名和备用域名,如以下示例所示。
如果您的域未配置为将流量路由到实例的公有 IP 地址,则
bncert工具将要求您在继续之前进行该配置。您的域必须将流量路由到使用bncert工具以在实例上启用 HTTPS 的实例的公有 IP 地址。这将确认您拥有该域,并能用于进行证书的验证。
-
bncert工具会询问您希望如何配置网站的重新导向。以下是可用的选项:-
启用 HTTP 重新导向到 HTTPS - 指定是否将浏览网站 HTTP 版本(即
http:/example.com)的用户自动重新导向到 HTTPS 版本(即https://example.com)。我们建议启用此选项,因为它会强制所有访问者使用加密连接。输入Y然后按 Enter 以启用它。 -
启用非 www 重新导向到 www - 指定是否将浏览顶级域(即
https://example.com)的用户自动重新导向到域的www子域(即https://www.example.com)。我们建议启用此选项。但如果您在搜索引擎工具(如 Google 站点管理员工具)中指定了顶级域作为首选网站地址,或者顶级域直接指向您的 IP 且www子域通过别名记录引用您的顶级域,则您可能希望禁用它并启用其他选项(启用www重新导向到非www)。输入Y然后按 Enter 以启用它。 -
启用 www 到非 www 重新导向 - 指定是否将浏览域的
www子域(即https://www.example.com)的用户自动重新导向到顶级域(即https://example.com)。如果您启用了非www重新导向到www,建议禁用此选项。输入N然后按 Enter 以禁用它。
您的选择应类似于以下示例:
-
-
将列出要进行的更改。输入
Y然后按 Enter 以确认并继续。
-
输入要与 Let's Encrypt 证书关联的电子邮件地址,然后按 Enter(确定键)。
-
查看 Let's Encrypt 的加密用户协议 输入
Y然后按 Enter 接受协议并继续。
将执行这些操作以在您的实例上启用 HTTPS,包括请求证书和配置您指定的重新导向。
您的证书已成功颁发和验证,如果您看到类似于以下示例的消息,则表示在实例上成功配置了重新导向。
bncert工具将在证书过期前每 80 天执行一次自动续订。如果您希望将其他域和子域用于实例,并且希望为这些域启用 HTTPS,请重复上述步骤。您现在已完成在您的 WordPress 实例上启用 HTTPS。继续执行本指南的步骤 6:测试您的网站是否使用 HTTPS 部分。
步骤 6:测试您的网站是否使用 HTTPS
在 WordPress 实例上启用 HTTPS 后,您应该通过浏览到您在使用 bncert 工具时指定的所有域来确认您的网站是否使用 HTTPS。当您访问每个域时,您应该看到它们在使用安全连接,如以下示例所示。
注意
您可能需要刷新并清除浏览器的缓存才能看到更改。
您可能还会发现非 www 地址重新导向到域的 www 子域,反之亦然,具体取决于您在运行 bncert 工具时选择的选项。