首页 » 使用 WordPress 和 AWS CloudFront 为所有内容提供 SSL 保护

使用 WordPress 和 AWS CloudFront 为所有内容提供 SSL 保护

既然SSL 已经成为了一项排名因素,你就得去实施它。你可以随心所欲地否认,但你得去做。大家都知道你很老派,而且你拒绝屈服于谷歌对 SEO 的操纵,但你真正去做只是时间问题。我怎么知道的?因为总有一天你会醒来发现你网站的排名下降了。接下来你要做的就是查看搜索引擎结果页面 (SERP),看看哪些网站的排名比你的网站高。你会发现大多数网站都在使用 为所有内容提供 SSL 保护。

有趣的是,你的排名下降可能与 SSL 无关,但你不会知道这一点。你唯一会知道的是,所有或大多数排名比你高的网站都在使用 SSL。这是因为在你嘲笑他们的时候,其他人都添加了 SSL。现在,你得添加 SSL,因为你不能再冒险让它成为排名因素了。

所以,我会一步一步教你如何做到这一点。你以后再感谢我吧

目录如何向 WordPress 添加 SSL

如果您是 SSL 新手,那么您很快就会发现,将它添加到WordPress(或任何网站)非常麻烦。证书创建起来并不容易,而且如果您的页面资源不安全,浏览器就会抛出安全错误。如果您想要使用内容分发网络 ( CDN ) 来传输媒体文件,情况会变得更加复杂。不过不用担心,因为我将逐步指导您使用 SSL 保护 WordPress 安全。

什么构成了完美安全的 WordPress 网站?三件事:

  1. 该域名及其主题资产都是安全的
  2. 该网站使用 CloudFront(或等效的 CDN 来提供其资产
  3. 添加媒体时,柬埔寨 WhatsApp 号码数据 默认使用 https(使用您自己的域或子域可获得加分)

步骤 1:创建私钥和证书签名请求(CSR

私钥用于创建 CSR,也用于在服务器上安装证书。CSR 用于请求证书。要创建私钥,您需要 OpenSSL。OpenSSL 通常预装在 Mac OS X、Linux 和 UNIX 系统上,但 Windows 系统上没有。Windows 版 OpenSSL 可从 OpenSSL 网站免费下载。

打开终端应用程序,然后将目录更改为要保存私钥和 CSR 的位置。我通常在“下载”文件夹中创建它们。

$ cd ~/Downloads/

下一步是使用 OpenSSL 创建私钥和 CSR。输入以下内容, 是独立的渠道您的域名.com到您计划与证书一起使用的域或子域。

OpenSSL 随后会要求您逐一回答一系列问题。您需要回答所有问题,但“组织单位”(Organizational Unit)除外,因为“组织单位”是可选的。当系统询问“通用名称”(Common Name)时,请输入您想要保护的域名或子域名。此外,您可以跳过最后两个问题,即询问“质询密码”(Challenge Password)“公司名称”(Company Name)的可选部分。以下是示例:

第 2 步:订购证书

有很多地方出售证书,但我最喜欢的是Comodo。而且你最喜欢的主机提供商和/或注册商很可能也会转售 Comodo 证书。对我来说,Pair NetworksGandi是不错的选择。如果你注册或转移域名到 Gandi,他们会在第一年免费提供 SSL 证书,之后的费用会非常便宜。我就是这么管理我的网站的。

找到并打开您创建的 CSR,然后使用TextMate等文本编辑器打开它。将所有文本复制并粘贴到证书提供商的 CSR 输入字段中。请确保选择 Apache/ModSSL 作为用于创建 CSR 的软件。以下是 Gandi 上以yourdomain.com为例的示例:

步骤 3:验证所有权和身份

此步骤取决于证书颁发机构和您订购的证书类型。由于 Google 似乎只关心网站使用 2048 位数字签名加密其数据,因此您通常可以购买最便宜的选项,只需验证域名所有权即可。该过程通常类似于使用Google 网站站长工具GWT ) 验证网站。

步骤 4:安装证书

证书准备就绪后,证书颁发机构会提供证书通常还会提供一份中间证书。您需要这两份证书,因为如果您不提供中间证书,安装完成后您的网站会收到证书错误。以下是我从 Gandi 获取证书时的样子:

大多数情况下,您需要向托管服务提供商提交支持请求,请求他们为您安装证书。每个托管服务提供商的安装流程都不同,有些公司可能会收取安装费用。我使用的是 Pair Networks, 在短信中 他们让我将文件上传到我帐户中的一个私人文件夹中。他们免费安装了证书,并在我提交请求后的几个小时内就完成了。

步骤5:更改WordPress设置

确认证书已正确安装后,登录 WordPress 管理员。前往“设置” > “常规”,在 WordPress 地址和站点地址中添加“ s”;然后保存更改。

步骤 6:更新 .htaccess 将所有非安全流量重定向到 https

打开您网站的 .htaccess 文件,并添加以下代码(将 yourdomain.com 替换为您自己的域名)。此代码会将所有非安全流量重定向到 SSL 版本。

步骤 7:清理页面、帖子和主题中的非安全链接

由于 WordPress 在将上传的媒体添加到文章和页面时不使用相对链接,因此您需要更新所有媒体链接以使用 https。您需要添加“ s”,或者省略协议,只使用斜杠,如下所示://wp-content/uploads…

等等,还有更多!虽然大多数 WordPress 主题都使用相对内部链接,但有些主题却没有。您需要检查您的主题(尤其是自定义主题)是否有任何硬编码的非安全资产链接。

步骤 8:更改 Google Analytics

这一步可能是最简单的了。你需要将 Google Analytics 的设置更改为使用https。前往Google Analytics,找到你的网站,然后进入“管理”设置。在“属性”部分,将http更改为https

步骤 9:将网站添加到 GWT

事实证明,GWT 不如 Google Analytics 智能。GWT 要求您再次添加网站,但这次需要添加为安全网站。输入URL时务必包含https协议。

恭喜!你成功了!可惜的是,这还不够好。如果你的网站流量爆棚,或者变得全球流行,会发生什么?如果没有内容分发网络 (CDN),你的网站可能会完蛋。

我将向您展示如何通过安全连接将 CloudFront(我选择的 CDN)添加到 WordPress。

步骤 2:创建 CloudFront 分配

S3 仅从文件存储所在的数据中心提供文件,而 CloudFront 则将这些文件分发到世界各地并提供服务。例如,如果您的 S3 存储桶及其关联文件存储在弗吉尼亚州的数据中心,而有一位用户从澳大利亚访问您的网站,CloudFront 将从位于亚太地区的数据中心(而非弗吉尼亚州)分发您的文件。

从管理控制台,转到CloudFront 管理页面。点击“创建分发”按钮。对于“源域名”,请选择您创建的 S3 存储桶。对于“源 ID”,请随意命名,例如“MyOrigin”。您的“默认缓存行为设置”应如下所示:

对于分发设置 (Distribution Settings),如果您计划使用自己的子域名或域名,请在备用域名 (CNAME)文本区域中输入。稍后我将在本文解释如何为 CloudFront 使用您自己的安全域名。不过,目前,请在SSL 证书选项中选择默认 CloudFront 证书 (*.cloudfront.net)。您的分发设置应如下所示:

点击“创建分发”按钮,您的 CloudFront 分发就创建完成了。域名即为您的新 CloudFront 分发 URL。

步骤 3:在身份和访问管理器 ( IAM )中创建有权访问 S3 和 CloudFront 的用户

前往“部署和管理”部分的IAM 。点击侧边导航栏中的“用户”,然后点击“创建新用户”按钮。输入您选择的用户名,然后点击“创建”按钮。然后下载您的访问密钥 ID 和秘密访问密钥。请确保将其保存在安全的地方。

在 IAM 控制面板中,点击侧边导航栏中的“组”。点击“创建新组”按钮。将组命名为CloudFrontAccess或任何您喜欢的名称。在“选择策略模板”列表中,选择“CloudFront Full Access”,点击“下一步”按钮,然后点击“编辑权限”链接。这将返回到“选择策略模板”列表。选择“Amazon S3 Full Access”,点击“下一步”按钮,然后点击“创建组”按钮。

在 IAM 仪表板中,点击侧边导航栏中的“用户”。点击您创建的用户,然后点击“将用户添加到组”按钮。点击您刚刚创建的组,然后点击“添加到组”按钮。

 

滚动至顶部