如果您使用 AWS LightSail 托管您的 WordPress 博客,请查看如何借助 Let's Encrypt SSL 证书启用 HTTPS 模式。
AWS LightSail 拥有优秀的基础设施和实惠的价格,它是托管您的博客的绝佳平台。今天,它是我安装 WordPress 和创建博客的首选解决方案之一。
AWS LightSail 是一个虚拟专用服务器,这意味着服务器上没有可用的 cPanel。您要么必须购买 cPanel 许可证并手动安装,要么自行管理 LightSail 服务器。
我更喜欢自己管理它,但对于非技术背景的人来说,这可能是一项艰巨的任务。因此,准备好运行一些命令并查看日志文件。
一旦您带来了 WordPress LightSail 服务器,您应该做的第一件事就是在其上安装 SSL 证书。这将确保使用 HTTPS 协议正确地为您的博客提供服务。
让我们看一下有关如何在 AWS LightSail WordPress 服务器上安装 SSL 证书的分步指南。
什么是HTTPS协议?
当您输入任何博客 URL 时,它通常以“HTTP://”开头,例如 – http://Metablogue.com。
HTTP 代表超文本传输协议,该协议允许您的浏览器和网络服务器进行通信和传输数据。 HTTP 默认为非加密通信,可能容易受到中间人和窃听攻击。
如果您只是传输已经公开可用的信息(例如博客文章和图片),您可能会决定通过 HTTP 提供该信息。
即使通讯中断了,有人偷听,也只会找到大家已经可以得到的信息。
但是,如果有人试图使用您的联系页面与您联系怎么办?如果有人监听连接,他们将能够获得用户的电子邮件 ID 和其他联系信息。
如果您在博客上进行金融交易,这一点就变得更加重要。
用于加密通信的HTTPS
HTTPS可以让你解决这个问题。它以与 HTTP 等效的方式工作,但允许您添加加密层来解决这个问题。
要使 HTTPS 正常工作,服务器和浏览器需要进行一些握手并建立安全的通信通道。他们将决定使用哪种加密算法和 SSL 证书。
这种增加的通信将花费一些时间并影响页面加载速度,但它应该有利于用户数据的安全性和可靠性。
根据维基百科,截至 2018 年 4 月,Alexa 前 1,000,000 个网站中有 31% 使用 HTTPS 作为默认网站,并且每天都在添加 HTTPS。
我如何知道通信是否安全?
当前的浏览器会在地址栏上显示一个锁形图标,以突出显示通过 HTTPS 协议进行的安全通信。
您可以点击锁定图标获取有关服务器的更多详细信息。
如果服务器证书和域名不匹配,您将在浏览器中看到错误。
为什么要使用SSL证书?
Google 网站管理员博客谈到 SSL 证书是排名因素之一。因此,它不仅可以帮助您的用户安全地与您的博客进行交互,还可以帮助您改进 SERP。
HTTPS 是当今任何博客的基本要求之一,好处是 AWS LightSail 预配置了 HTTPS。
您可以通过 https 访问博客,唯一的问题是 SSL 证书是使用域“example.com”的虚拟证书,您将在 Chrome 和其他浏览器中看到警告。
为了确保您可以在 AWS 上通过 HTTPS 协议正确地为您的博客提供服务,您只需要安装一个合适的 SSL 证书。
以下是有关如何在 AWS LightSail 上启用 Let's Encrypt SSL 证书的分步说明。
生成 Let's Encrypt SSL 证书
SSL 证书是 HTTPS 协议的关键部分。它包含域名、所有者名称、公钥(将用于加密数据)、到期日期等信息。
有些公司提供付费的 SSL 证书,例如 Symantec、Godaddy、RapidSSL 等. 如果您在博客上进行金融交易,付费证书非常有用。
如果您不接受付款,只接受几种形式的用户信息,您可以使用Let's Encrypt Free SSL Certificates。
将 Certbot 客户端与 Apache 结合使用
Certbot 客户端允许您生成 SSL 证书。如果你不想在你的 WordPress 安装中安装多个插件,你可以使用这种方法通过 Linux shell 来完成这一切。
您需要做的第一件事是确保服务器上的所有包都已更新。您可以使用以下命令执行此操作。
使用 LetsEncrypt 目录和 Lego 客户端安装 CertBot
AWS LightSail WordPress。我从使用 Lego 客户端的用户那里看到了很多问题,因此我们首选的方法仍然是 CertBot 客户端。
现在是时候借助以下命令安装 Certbot 了。
首先进入LetsEncrypt目录。
现在,继续安装来自官方 certbot 发行版的 Certbot 客户端。您还需要确保脚本具有执行权限。
让我们运行 certbot-auto 脚本来完成安装。
脚本可能会显示一些不知道如何配置服务器的错误,但是你可以忽略它。它将运行并下载它需要的所有依赖项。
生成证书
安装 Certbot 客户端后,您可以继续为您的域生成证书。
$ sudo ./certbot-auto certonly –webroot -w /opt/bitnami/apps/wordpress/htdocs/ -d www.example.com -d example.com
将将域名更改为您的域名。
如果您需要多个域的证书,您可以使用 -d 选项添加额外的域。在其官方页面上查看有关 Certbot 客户端的更多信息。
它将生成的证书存储在 /etc/letsencrypt/live/DOMAIN 目录中。
您应该在证书中包括 www 和非 www 域。这是必需的,因为某些浏览器不会自动进行转换,并且用户会收到安全错误。因此,在证书中包含域的两个版本很有用。
如果您已经生成了 SSL 证书,请再次发出上述命令。它会询问您是否要通过包含其他域来扩展现有证书。键入“E”进行扩展,它将重新生成证书。
Link Let's Encrypt SSL Certificate to Apache
您可以使用上述任何方法生成 SSL 证书。获得证书后,必须让 Apache 知道在哪里可以获取它。
默认情况下,Apache 将证书存储在下面提到的位置
/opt/bitnami/apache2/conf/server.crt /opt/bitnami/apache2/conf/server .key
您可以只复制这些位置上的 SSL 证书并重新启动 Apache 以启用新文件。但是,使用这种方法,您必须在更新证书时再次复制文件。
因此,更好的方法是创建指向证书文件的符号链接。每当您更新许可证时,不需要执行此额外步骤即可生效。
首先,我们需要重命名现有证书文件,以便轻松创建符号链接。
$ mv /opt/bitnami/apache2/conf/server.key /opt/bitnami/apache2/conf/serverkey.old $ mv /opt/bitnami/apache2/conf/server.crt /opt/ bitnami/apache2/conf/servercrt. Old
可以使用下面的命令来创建符号链接。确保证书文件名和路径正确。 [DOMAIN] 需要替换为证书颁发命令中使用的第一个域。
$ sudo ln -s /etc/letsencrypt/live /[DOMAIN]/fullchain.pem/opt/bitnami/apache2/conf/server.crt $ sudo ln -s /etc/letsencrypt/live/ [DOMAIN]/privkey.pem/opt/bitnami/apache2/conf/server.key
符号链接就位后,可以重新启动 Apache 服务器使其生效。使用以下命令重新启动 Apache 服务器。
Apache 重启后,您可以尝试通过 HTTPS 访问您的博客并确保没有错误。
将您的博客重定向到 HTTPS
安装 Let's Encrypt SSL 证书并将其与 Apache 链接后,您需要将您的博客重定向到 HTTPS 而不是 HTTP。
这是一个两步过程。首先,您需要更改博客的主页 URL。这可以通过编辑 wp-config.php 文件来完成。
编辑 wp-config.php 并将下面提到的两行替换为指向 HTTPS 而不是 HTTP。
第二步,您需要更新 Apache 以将流量重定向到 HTTPS。
您可以编辑 httpd-prefix.conf 文件以在 Apache 上强制重定向。该文件位于 /opt/bitnami/apps/wordpress/conf/
在文件顶部添加以下部分以强制重定向。
您的所有流量现在都将重定向到 HTTPS 版本。
将所有内部链接更改为 HTTPS
最后一步是确保所有内部链接都使用 HTTPS。
WordPress 使用站点地址创建链接,但帖子和图像链接中的所有现有链接仍将使用 HTTP。
如果您的帖子很少,您可以手动编辑帖子以更改链接。但是,如果您有很多帖子,则可以使用 WordPress 插件进行此更改。
Better Search & Replace 是一个 WordPress 插件,可让您在 WordPress 数据库中搜索和替换域名。
只需安装插件,选择所有表,然后测试运行,看看需要进行多少更改。
如果您接受修改,然后您可以运行它并在您的 WordPress 数据库中进行更改。
如果您不打算定期更改您的 WordPress 数据库,您可以卸载该插件。
如何更新您的 SSL 证书
设置 Encrypt Our SSL 证书后,您需要每 90 天更新一次。 Let's Encrypt 将发送一封电子邮件提醒您您的证书已过期。
要更新您的证书,请通过 SSH 连接到您的实例。首先,更新服务器上的所有包。
这不是必需的步骤,而是一个很好的做法,可以确保在进行任何更改之前大多数维护都是最新的。
现在,使用以下命令转到您的 certbot 目录(如果您将其安装在其他位置,请更改目录位置)
现在,运行以下命令更新 SSL 证书。
这将更新证书并将更新后的证书放在 /etc/letsencrypt/live/DOMAIN 目录中。
现在重新启动 apache 以确保新证书有效。
下面介绍了如何借助 Let's Encrypt SSL 证书在 AWS LightSail 上启用 HTTPS。如果您在将 SSL 证书安装到 AWS LightSail WordPress 安装时遇到任何问题,请告诉我们。
完全披露:这篇文章可能包含附属链接,这意味着,如果您单击其中一个链接并进行购买,我们可能会收到佣金(无需额外费用)。我们只超链接我们认为能为我们的受众增加价值的产品。这些产品不提供经济补偿。