在 Lightsail 上使用 HTTPS 保护你的 WordPress 网站 - Amazon Lightsail

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 Lightsail 上使用 HTTPS 保护你的 WordPress 网站

为您的 WordPress 网站启用安全超文本传输协议 (HTTPS) 可确保访问者相信您的网站是安全的;它正在发送和接收加密数据。非安全网站的地址以 http 开头(如 http://example.com),而安全网站的地址以 https 开头(如 https://example.com)。即使您的网站主要是提供参考信心,仍建议您启用 HTTPS。这是因为如未启用 HTTPS,大多数 Web 浏览器会通知网站访问者您的网站是不安全的,并且您的网站将在搜索引擎结果中排名较低。

提示

Lightsail 提供指导式工作流程,可在您的实例上自动安装和配置 SSL/TLS 让我们加密证书。 WordPress 我们强烈建议您使用工作流程,而不是按照本教程中的手动步骤操作。有关更多信息,请参阅启动和配置实 WordPress 例

本指南向您展示如何使用 Bitnami HTTPS 配置工具 (bncert) 在 WordPress Amazon Lightsail 上的 Bitnami 认证实例上启用 HTTPS。它允许您仅为进行请求时指定的域和子域请求证书。或者,也可以使用 Certbot 工具,为域请求证书和为子域请求通配符证书。通配符证书适用于任何子域,如果您不知道将使用哪个子域将流量引导到您的实例,这样做可以带来好处。但是,Certbot 不会像 bncert 工具那样自动续订证书。如果您使用 Certbot,则必须每 90 天手动续订一次证书。有关使用 Certbot 启用 HTTPS 的更多信息,请参阅教程:在您的 WordPress 实例中使用让我们加密 SSL 证书

内容

步骤 1:了解流程

注意

在本部分中,您可了解此过程的简要概述。执行此过程的具体步骤包含在本指南的后续步骤中。

要为您的 WordPress 网站启用 HTTPS,请使用 SSH 连接到您的 Lightsail 实例,然后使用该bncert工具向 Let's Encryp t 证书颁发机构申请 SSL/TLS 证书。当您请求证书时,您可以指定网站的主域(example.com) 和备用域(www.example.comblog.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 工具有以下限制:

  • 并非所有 Certified by Bitnami WordPress 实例在创建时都已预装该实例。 WordPress 不久前在 Lightsail 上创建的实例需要您手动安装该工具。bncert本指南的步骤 4 向您介绍如何确认该工具已安装在您的实例上,以及在没有安装的情况下如何安装。

  • 您可以仅为进行请求时指定的域和子域请求证书。这与 Certbot 工具不同,它可以为域请求证书和为子域请求通配符证书。通配符证书适用于任何子域,如果您不知道将使用哪个子域将流量引导到您的实例,这样做可以带来好处。但是,Certbot 不会像 bncert 工具那样自动续订证书。如果您使用 Certbot,则必须每 90 天手动续订一次证书。有关使用 Certbot 启用 HTTPS 的更多信息,请参阅教程:在 Amazon Lightsail 中的 WordPress 实例中使用让我们对 SSL 证书进行加密

步骤 2:完成先决条件

请完成以下先决条件(如果尚未完成):

  • 在 Lightsail 中创建实例,并在您的 WordPress 实例上配置您的网站。有关更多信息,请参阅 Amazon Light sail 中基于 Linux/UNIX 的实例入门

  • 将静态 IP 附加到实例。如果您停止和启动实例,则实例的公有 IP 地址会出现更改。如果您停止和启动实例,静态 IP 不会更改。有关更多信息,请参阅创建静态 IP 并将其附加到 Amazon Lightsail 中的实例

  • 配置完 WordPress 实例后,为其创建快照,或者启用自动快照。快照可用作备份,如果原始实例出现问题,您便可以从中创建另一个实例。有关更多信息,请参阅创建 Linux 或 Unix 实例的快照或在 Amazon Lightsail 中为实例或磁盘启用或禁用自动快照

  • 将 DNS 记录添加到您的域名的 DNS 中,从而将您的域名顶点 () 及其www子域名 (example.com) 的流量引导到您在 Lightsail 中 WordPress 实例的公有 IP 地址。www.example.com您可以在域的当前 DNS 托管提供商处完成这些操作。或者,如果您将域名 DNS 的管理权转移到 Lightsail,则可以使用 Lightsail 中的 DNS 区域来完成这些操作。要了解更多信息,请参阅 DNS

    重要

    将 DNS 记录添加到您要用于 WordPress网站的所有域名的 DNS 中。所有这些域名都应将流量路由到您 WordPress 网站的公共 IP 地址。该bncert工具将仅为当前将流量定向到您的 WordPress实例的公有 IP 地址的域名颁发证书。

步骤 3:连接到您的实例

完成以下步骤,在 Lightsail 控制台中使用基于浏览器的 SSH 客户端连接到您的实例。

  1. 登录 Lightsail 控制台

  2. 在 Lightsail 主页上,为您的 WordPress实例选择 SSH 快速连接图标。

    在 Lightsail 主页上使用 SSH 快速连接。

    将打开基于浏览器的 SSH 客户端终端窗口。如果您看到 Bitnami 徽标(如以下示例所示),则您通过 SSH 成功连接到您的实例。

    Lightsail 控制台中基于浏览器的 SSH 客户端窗口。

步骤 4:确认已在实例上安装了 bncert 工具

完成以下步骤以确保 Bitnami HTTPS 配置工具 (bncert) 已安装到实例上。并非所有 Certified by Bitnami WordPress 实例在创建时都已预装该实例。 WordPress 不久前在 Lightsail 上创建的实例需要您手动安装该工具。bncert此过程包括在未安装工具时安装该工具的步骤。

  1. 要运行 bncert 工具,请输入以下命令。

    sudo /opt/bitnami/bncert-tool
    • 如果您在响应中看到 command not found(如以下示例所示),则 bncert 工具未安装到实例上。继续执行此过程的后续步骤以在实例上安装 bncert 工具。

      重要

      bncert工具只能用于通过 Bitnami 认证的 WordPress 实例。或者,您可以使用 Certbot 工具在您的实例上启用 HTTPS。 WordPress 有关更多信息,请参阅教程:对您的 WordPress实例使用 “让我们加密 SSL 证书”。

      确认未安装 Bncert 工具的消息
    • 如果您在响应中看到 Welcome to the Bitnami HTTPS configuration tool(如以下示例所示),则 bncert 工具已安装到实例上。继续本指南的步骤 5:在您的 WordPress 实例上启用 HTTPS 部分。

      确认已安装 Bncert 工具的消息
  2. 输入以下命令以将 bncert 运行文件下载到您的实例中。

    wget -O bncert-linux-x64.run https://downloads.bitnami.com/files/bncert/latest/bncert-linux-x64.run
  3. 输入以下命令以在您的实例上创建 bncert 运行文件的目录。

    sudo mkdir /opt/bitnami/bncert
  4. 输入以下命令以将下载的 bncert 运行文件移动到您创建的新目录。

    sudo mv bncert-linux-x64.run /opt/bitnami/bncert/
  5. 输入以下命令以创建可作为程序执行的 bncert 运行文件。

    sudo chmod +x /opt/bitnami/bncert/bncert-linux-x64.run
  6. 输入以下命令以创建当您输入 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

确认您的 WordPress 实例上安装了 HTTPS 后,请完成以下步骤以在bncert您的实例上启用 HTTPS。

  1. 要运行 bncert 工具,请输入以下命令。

    sudo /opt/bitnami/bncert-tool

    您应看到类似于以下示例的消息。

    运行 bncert 工具

    如果 bncert 工具已在您的实例上安装了一段时间,那么您可能会看到一条消息,指示该工具的更新版本可供使用。按以下示例中所示选择下载它,然后再次输入 sudo /opt/bitnami/bncert-tool 命令来运行 bncert 工具。

    指示新版本 bncert 工具可用的消息
  2. 输入用空格分隔的主域名和备用域名,如以下示例所示。

    如果您的域未配置为将流量路由到实例的公有 IP 地址,则 bncert 工具将要求您在继续之前进行该配置。您的域必须将流量路由到使用 bncert 工具以在实例上启用 HTTPS 的实例的公有 IP 地址。这将确认您拥有该域,并能用于进行证书的验证。

    输入主域名和备用域名
  3. 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 以禁用它。

    您的选择应类似于以下示例:

    网站重新导向选项
  4. 将列出要进行的更改。输入 Y 然后按 Enter 以确认并继续。

    确认更改
  5. 输入要与 Let's Encrypt 证书关联的电子邮件地址,然后按 Enter(确定键)

    将您的电子邮件地址与 Let's Encrypt 证书关联
  6. 查看 Let's Encrypt 的加密用户协议 输入 Y 然后按 Enter 接受协议并继续。

    查看 Let's Encrypt 用户协议

    将执行这些操作以在您的实例上启用 HTTPS,包括请求证书和配置您指定的重新导向。

    正在执行操作

    您的证书已成功颁发和验证,如果您看到类似于以下示例的消息,则表示在实例上成功配置了重新导向。

    操作成功完成

    bncert 工具将在证书过期前每 80 天执行一次自动续订。如果您希望将其他域和子域用于实例,并且希望为这些域启用 HTTPS,请重复上述步骤。

    现在,您已完成在 WordPress 实例上启用 HTTPS。继续执行本指南的步骤 6:测试您的网站是否使用 HTTPS 部分。

步骤 6:测试您的网站是否使用 HTTPS

在您的 WordPress 实例上启用 HTTPS 后,您应通过浏览您在使用该bncert工具时指定的所有域来确认您的网站正在使用 HTTPS。当您访问每个域时,您应该看到它们在使用安全连接,如以下示例所示。

注意

您可能需要刷新并清除浏览器的缓存才能看到更改。

安全网站确认

您可能还会发现非 www 地址重新导向到域的 www 子域,反之亦然,具体取决于您在运行 bncert 工具时选择的选项。