WordPress HTTPS 和 SSL 终极指南

已发表: 2018-10-16

您可能已经注意到,在过去几年中,您最喜欢的许多网站已从 HTTP 地址转移到 HTTPS。 添加的字母虽然只增加了很少的时间和精力来打字,但为这些网站增加了巨大的价值和安全性。 拥有 WordPress HTTPS 站点不仅会使您的业务对访问者更值得信赖,而且还会在搜索中排名更高。

什么是HTTPS?

如果 HTTP 代表超文本传输​​协议。 HTTPS 代表超文本传输​​协议安全。 Mozilla 开发者网络 (MDN) 对协议有​​一个奇妙而直接的定义:

HTTPS ( HTTP Secure ) 是 HTTP 协议的加密版本。 它通常使用 SSL 或 TLS 来加密客户端和服务器之间的所有通信。 这种安全连接允许客户与服务器安全地交换敏感数据,例如用于银行活动或在线购物。

如果您听说过端到端加密,就是这样。 只有参与事务的两个客户端才能读取数据。 任何可能拦截它的人都会看到理论上无法破解的乱码。

听起来不错,对吧? 那么如何获得这个数字力场呢? 通过 SSL。

什么是 SSL?

SSL 代表安全套接字层,再一次,MDN 比几乎任何人都可以更好地解释它:

[SSL] 是应用程序用于跨网络安全通信的协议,可防止篡改和窃听电子邮件、Web 浏览、消息传递和其他协议。

所有现代浏览器都支持 TLS 协议,要求服务器提供确认其身份的有效数字证书,以便建立安全连接。 如果双方提供各自的数字证书,客户端和服务器就可以相互验证。

这些证书曾经非常昂贵,除了最大的网站之外,几乎所有人都买不起。 您会在 Amazon 和 Twitter 等网站上看到绿锁,但是日常的普通 WordPress 网站(就像我们的大多数网站一样)无法支付数千美元购买证书的费用。

SSL证书绿色挂锁

幸运的是,随着 SSL 证书对于排名和实际开展业务变得更加必要,大多数网站的价格不仅下降了,而且完全消失了。 现在有许多服务提供免费的 SSL 证书,包括大多数主机。 您可以非常轻松地获得 WordPress SSL 证书,没有太多麻烦。

如何获得免费的 WordPress SSL 证书

订阅我们的 YouTube 频道

如今,免费 SSL 证书的主要提供者来自一项名为 Let's Encrypt 的服务。

通过使用他们的服务,您无需花一分钱即可获得拥有 SSL 证书的所有好处。 这是最好的部分:大多数主要托管服务提供商都与 Let's Encrypt 合作,使安装 SSL 证书完全无痛。

您可以通过以下两种方式之一从 Let's Encrypt 获得免费的 SSL 证书。

选项 1. 从您的(受支持的)主机帐户安装您的免费 SSL 证书

正如我所提到的,许多主机与 Let's Encrypt 合作,直接在其客户的 cPanel 仪表板或主机的仪表板中添加免费的 SSL 证书。 例如,如果您在 SiteGround 托管(就像我一样),您可以在大约两秒钟内安装 SSL 证书。 从主登录站点,进入My Accounts选项卡和Extra Services 。 您应该会看到一个名为Let's Encrypt Certificates 的部分,您可以通过单击“查看全部”按钮在任何地方管理和安装它们。

如何获得免费的 SSL 证书

此外,您可以单击Go to cPanel按钮并在Security标题下找到Let's Encrypt徽标。 它会将您带到与查看全部相同的页面。

如何获得免费的 SSL 证书

从那里,您将看到所有已安装证书的列表。 如果这是您第一次通过,您将看不到任何内容。 但是,您应该看到如下内容:

WordPress SSL 和 HTTPS

无论您是否安装通配符(用于父域上的所有子域),当您按下“安装”按钮时,您的 WordPress SSL 证书都已准备就绪。

WordPress SSL 和 HTTPS

服务器将处理您的新 WordPress SSL 证书安装。 十分简单。 你快完成了。 不过,我们仍然需要对其进行配置。 在下一节中。

此外,请通读这个为 Let's Encrypt 提供直接支持的网络主机的完整列表。 大多数受支持主机的过程应该类似于 SiteGround。 此外,某些主机可能会向您收取使用 Let's Encrypt 的费用。 老实说,这是一种虚假收费,而且由于 Google 将 SSL 设为网络标准,因此许多收费主机都拒绝收取费用。 如果您不免费提供它,可能是时候考虑不同的主机,因为他们没有考虑到您的最大利益。

选项 2. 使用“免费 SSL”手动配置您的 Let's Encrypt 证书

如果您的主机不支持 Let's Encrypt,您仍然可以使用名为 SSL For Free 的网站获取免费 SSL 证书。

如何获得免费的 SSL 证书

该站点将帮助您配置 Let's Encrypt 证书。 但是,您将需要访问您站点的 FTP 详细信息,并且可能需要您的主机提供支持。 虽然此方法有效,但它非常实用,您可能需要在证书到期时手动更新证书。 因此,您应该尝试找到提供直接 Let's Encrypt 支持的主机,因为它极大地简化了过程。 如果由于某种原因您不能,免费 SSL 是您最好的第二选择。

此外,您可以从 Cloudflare 和 FreeSSL 获得免费的 SSL 证书。 Cloudflare 在其免费计划中提供共享 SSL 证书。 如果您已经在使用 Cloudflare,这是使用 HTTPS 启动和运行您的网站的好方法。 然后是 FreeSSL 。 虽然尚未公开,但这是赛门铁克的免费 SSL 证书项目。 非营利组织或初创公司可以立即获得 FreeSSL。 否则,您可以注册以在公开时收到通知。

如果您选择走这条路线并手动安装证书,Sucuri 有一个很棒的指南,它将带您逐步完成安装过程。 但请记住,手动安装 SSL 将要求您使用命令行、编辑 WordPress 核心文件并使用 CRON 作业。 如果这听起来不像您想在工作中度过愉快的一天,请让我将您引回到上面的选项 1。

如何使用 WordPress 配置您的免费 SSL 证书

无论您选择哪种方式获取证书,一旦安装,用户将能够通过访问https://yoursite.com查看您网站的安全版本 但仅仅因为您的 WordPress HTTPS 连接处于活动状态并不意味着您已经完成了。 (但你几乎是。)

要正确配置 WordPress HTTPS 以使用您的 SSL 证书,您需要进行一些更改。 您可以手动执行此操作……或者您可以使用一个很棒的插件来为您完成所有工作。 它被称为真正简单的 SSL ,它名副其实。

如何获得免费的 SSL 证书

该插件处理整个过程。 只需安装并激活它。 请注意 - 当您第一次运行插件时,您自然会退出 WordPress。 这是因为插件将您的默认 URL 从“http://”更改为“https://”。 您需要做的就是使用您的正常登录凭据再次登录。 无需惊慌!

重新登录后,您会看到插件已经进行了必要的更改。 默认选项通常就足够了。 您可以在Settings – SSL下找到它们。

WordPress SSL 和 HTTPS

如果这些还不够好,并且您想进行更多调整,则“设置”选项卡位于顶部。

WordPress SSL 和 HTTPS

您可能最关心的选项是第一个:自动替换混合内容。 默认情况下应选中该框。 如果没有,请检查它。 然后保存页面。

现在,你可以走了。 您已成功安装并激活 WordPress HTTPS 和 WordPress SSL。 恭喜!

常见的 HTTPS/SSL 错误故障排除

仅仅因为东西已经安装并准备好并不一定意味着它们工作顺利。 您可能会在您的网站上遇到一些问题。 不过,WordPress HTTPS 站点很容易排除故障。 让我们来看看一些最常见问题的解决方案。

在某些时候,在您的站点上设置 SSL 并转移到 WordPress HTTPS 后,您最终可能会在您的站点上看到一些损坏的图像。 曾经完美地出现在您网站上的图像和内容可能不会显示为好像它们不存在一样。 别担心。 你没有做错任何事。 您的站点只是认为这些图像不安全(它们不是),因此您要确保将 WordPress SSL 设置为显示混合内容。

存在两种不同类型的混合网站内容。 当 HTTPS 在 HTTP 之上加载脚本时,一种称为混合活动内容和结果。 这是一个很大的禁忌,但不是这里发生的事情。 另一种类型的混合内容称为混合显示内容,即使用 HTTP 连接的内容加载到 HTTPS 站点时。 虽然您可能没有使用 HTTP 主动将任何图像加载到您的网站,但 WordPress 内部的某些东西导致它们被识别为这样。

基本上,您网站上的某些内容不喜欢您使用 HTTPS,而是自动强制使用 HTTP。 哪个渲染它们......好吧,它不会渲染它们。 所以让我们解决这个问题。

解决混合显示内容的第一个也是最一致的方法是使用 WordPress SSL Insecure Content Fixer 插件。

WordPress SSL 和 HTTPS

每当您安装并激活插件时,您的混合内容错误可能会立即消失。 默认情况下,插件将在其设置中设置为简单规则集(可在 WP 管理面板中的设置 - SSL 不安全内容下找到)。 您可以调整它遵循的规则的严格程度,一直到在所有 AJAX 调用上强制使用 HTTPS,但大多数情况下, Simple会正常工作。 根据我对这个特定问题的经验, Simple每次都有效。 但是您的里程可能会有所不同。

WordPress SSL 和 HTTPS

如果您仍然显示混合内容

打开您的网站,右键单击并选择查看页面源代码或按CTRL/CMD – U 。 您将看到您正在查看的页面的源代码。 在这一点上,按CTRL/CMD – F并搜索src="http 。是的,只有一个引号。你很好,如果你看到 0.0.0.0 就可以继续前进。

如果确实返回了任何结果,则意味着该站点是从 HTTP 源而不是 HTTPS 提取的。 要解决这个问题,您需要深入研究您的数据库(但这很容易,任何人都可以做到)。

WordPress SSL 和 HTTPS

Better Search and Replace 插件基本上允许您通过 WordPress 管理面板在您的数据库中工作。 您不必处理任何 SQL 或 PHP 或其他任何东西。 这是一个标准的 WordPress 页面,其工作方式类似于典型的查找和替换,您可能已经在文字处理器中使用了十几次。

WordPress SSL 和 HTTPS

我们有一个完整的插件指南,您可以在此处阅读,但修复 WordPress SSL 混合内容错误的细分也非常简单。

  1. 下载、安装和激活插件
  2. 备份您的网站
  3. 导航到工具 -在您的 WordPress 数据库中更好的搜索替换
  4. 搜索字段中,以http://开头输入您网站的 URL
  5. 替换为字段中,使用https://输入您网站的 URL
  6. 使用CTRL/CMD – A突出显示数据库中的每个表
  7. 确保作为试运行运行? 被检查。 这样做可以确保任何错误不会破坏您的网站并且可以提前修复
  8. 运行搜索/替换

如果一切按计划进行,试运行将表明您的搜索和替换将成功,您可以真正运行它。

WordPress SSL 和 HTTPS

将 HTTP 重定向到 HTTPS

现在,这应该已经解决了您的混合显示内容问题。 但是,您可能仍然希望确保您的站点尽可能使用 HTTPS,以防止出现任何其他问题。 一个这样的问题是当一个站点具有指向您站点的 HTTP 版本的反向链接时,但您实际上运行的是新的、改进的 HTTPS 版本。 从技术上讲,它们算作两个站点,它们的旧链接可能对某些用户显示为不安全。 所以下一步是检查您的设置 - 常规选项。 确保您的站点地址设置为 HTTPS。 如果没有,那就这样做并点击保存。 (该站点会将您注销。没关系。)

WordPress SSL 和 HTTPS

之后,您需要进入您的 FTP 客户端并打开您的.htaccess文件。 它将位于 WordPress 安装的根目录中。

WordPress SSL 和 HTTPS

你需要下载一份副本作为备份,然后在你最喜欢的代码编辑器中打开它(我的是 Sublime Text)。 在文件的最顶部(不在#BEGIN/END WordPress标签之间),添加以下代码。 (感谢 Dreamhost 的代码本身。)

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

WordPress SSL 和 HTTPS

这将在您的网站加载时将您的旧 HTTP URL 重定向到 HTTPS 版本。 请注意,在您放置[L, R=301] 的代码中,这是通过.htaccess文件的永久 301 重定向。 如果您这样做,您将不需要 301 重定向插件。 至少对于主域。

现在,还记得我说过它们算作两个站点吗? 这解决了这个问题。 您已经为新的 WordPress HTTPS 站点提供了您的 HTTP 站点的所有链接和搜索排名。 现在,通过告诉 Big Daddy G(这是我最近对 ​​Google 的昵称)确保您已搬入一个更安全、更安全的位置,以确保您保留它。 现在,是时候加载 Google Search Console 了。

即使您已经在 Google Search Console 中注册了网站的 HTTP 版本,也要将新的 WordPress HTTPS 网站添加为新属性。

WordPress SSL 和 HTTPS

Search Console 将弹出一个模式,询问网站的完整 URL 。 这是您必须确保输入 HTTPS 版本的地方。 请注意,即使模态告诉您它们是单独的属性,只是为了让您意识到这一步的重要性。

WordPress SSL 和 HTTPS

然后,您将像往常一样完成验证属性的过程。 当您完成此操作后,Google 会意识到您已将您的网站锁定,以免被窥探。

WordPress SSL 和 HTTPS

在您通过 Google 验证并使用新媒体资源设置 Search Console 后,欢迎访问您的新 WordPress HTTPS 站点。 您应该自由并清除可以自己处理的错误。

带有插件和主题的 WordPress SSL 错误

如果此时您仍然有错误,则很有可能已经超出了您的控制范围。 活动插件或您的主题最有可能是罪魁祸首。 要查看它可能是哪个,请右键单击您的页面并从菜单中选择“检查”。 您也可以按CTRL-SHIFT-I打开开发人员工具。 环顾四周,直到看到标有Console的选项卡。 如果有错误,您将看到它们以红色突出显示。

WordPress SSL 和 HTTPS

当您查看错误时,您将能够看到它们的类型。 如果有任何标记为Mixed Content ,您可以查看提供的文件 URL 以查看您的安装的哪个部分负责。 您可以轻松识别它。 它要么是您的主题,要么是错误输出中的插件。

现在,既然您知道导致错误的原因。 您能做的最好的事情是将其报告给插件或主题作者。 正是因为这个原因,许多人拥有支持论坛或实时聊天团队。 我建议您将其报告给作者,原因有几个。

首先是在插件和主题文件中乱搞会变得非常讨厌。 特别是如果您自己不是开发人员。 由于有了子主题,您可以更轻松地调整主题文件,但您仍有机会破坏您可能不知道的重要内容。 说到插件……好吧,我们从不建议在插件文件中四处寻找。 有时它甚至比主题更令人讨厌。

第二个原因是您并不孤单。 你拥有了它。 其他人也有。 这就是这些事情的运作方式。 因此,开发人员需要了解它并通过更新提供修复。 因此,您不仅帮助自己解决了问题,还为更大的利益做出了贡献,并且对自己感觉非常好。

无效证书警告

有时,用户可能会告诉您,您的站点显示的证书无效或证书已过期。 这没什么大不了的。 这是一个简单的修复。 一般来说,要修复过期的证书(或更新证书),您只需执行上面标题为“从您的(支持的)主机帐户安装免费 SSL 证书”部分中的步骤 在大多数情况下,这会奏效。 如果没有,请确保安装通配符证书,因为您可能会因为域名不匹配而收到错误消息。

WordPress SSL 和 HTTPS

如果这不起作用,请联系您的主机。 正如我之前所说,我个人在 SiteGround。 当我的 SSL 没有自动更新时遇到这个问题时,支持团队在半小时内修复了它。 这显然会改变主机,但他们希望您的网站几乎和您一样在线。

“重定向过多”错误

以防万一您的.htaccess文件中的 301 重定向没有阻止(它应该),您可能偶尔会遇到错误,您的站点陷入 HTTP 站点和 HTTPS 站点之间的无限循环。 幸运的是,这几乎与无效证书一样容易修复。 你只需要打开你的 FTP 客户端并在你的.htaccess所在的同一文件夹中找到你的wp-config.php文件。也可以在你最喜欢的代码编辑器中打开这个文件。 将以下代码添加到文件底部:

/** Prevent Too Many Redirects Loop **/
define('WP_HOME','https://mywebsite.com');
define('WP_SITEURL','https://mywebsite.com');
$_SERVER['HTTPS'] = 'on';

WordPress HTTPS 和 SSL

保存并上传回服务器。 您的网站现在应该停止在它应该停止的地方。

结束 WordPress HTTPS 和 SSL

我知道这需要考虑很多。但是 WordPress HTTPS 对于您网站未来的生存能力非常重要。 用户更信任你。 也许更重要的是,谷歌也会更加信任你。 您现在可以修复混合内容错误、处理 SSL 证书过期和续订、编辑.htaccesswp-config.php文件,甚至还可以处理您站点的数据库。 此时,您已锁定站点。 当 WordPress SSL 出现问题时,您可以修复它。 拍拍自己的背,去喝一杯,然后好好休息,知道您的网站是安全无恙的。

您过去遇到过哪些 WordPress SSL 问题,您是如何解决的?

文章特色图片来自 supercaps / shutterstock.com