You are here:  Home » PHP » 如何修复WordPress中的常见SSL问题(初学者指南)

WordPress网站移动到SSL有时会导致意外问题。如果您要将SSL添加到现有的WordPress网站并且遇到错误,那么您很幸运。在本指南中,我们将介绍如何解决WordPress中SSL / HTTPs最常见的问题。

Fixing common HTTPS / SSL issues in WordPress

什么是SSL / HTTPS以及为什么要立即开始使用它?

SSL / HTTPS是一种加密方法,可以保护用户浏览器和WordPress托管服务器之间的连接。这使得黑客更难以窃听连接。

每个启用SSL / HTTPS的站点都会获得一个唯一的SSL证书,以便识别。如果服务器假装使用HTTPS,并且其证书不匹配,则大多数现代浏览器将警告用户连接到该网站。

Insecure connection warning

去年,谷歌宣布计划通过鼓励网站所有者开始使用SSL / HTTPS来提高整体网络安全性。

作为此计划的一部分,Google的Chrome网络浏览器现在将没有SSL证书的所有网站标记为“不安全”。

Chrome HTTP not secure

浏览器地址栏中的“不安全”标签给您的客户留下了关于您的业务的不良印象。

除此之外,如果您想要建立在线商店或想要使用PayPal,Stripe,Authorize.net等支付服务,您还需要启用SSL / HTTPS。

考虑到优缺点,所有网站都需要切换到SSL / HTTPS。如果您还没有这样做,那么请转到我们的指南,了解如何将WordPress从HTTP正确移动到HTTP以获得分步说明。

话虽如此,让我们来看看WordPress中SSL / HTTPS的一些常见问题以及如何解决它们。

1.修复NET :: ERR_CERT_INVALID错误

此错误消息显示在Google Chrome中。其他浏览器显示此错误的消息略有不同,但它基本上警告用户他们与您网站的连接不安全。

Certificate authority invalid error

此错误消息表示用户的浏览器不接受网站提供的证书。这可能由于以下原因而发生:

  • SSL证书将颁发给其他域名或子域。
  • 证书已过期。
  • 您的浏览器无法识别证书颁发机构。

如果您购买了SSL证书并要求您的WordPress托管服务提供商为您安装,那么您可以联系他们为您修复它。

如果您手动安装了SSL证书,请尝试重新安装它或联系您的SSL证书提供商以获取支持。

2.将WordPress移动到SSL / HTTPS后修复混合内容错误

混合内容错误是由仍使用URL中的不安全HTTP协议加载的源(图像,脚本或样式表)引起的。

如果是这种情况,那么您将无法在网站的地址栏中看到安全的挂锁图标。

Not secure

有两种方法可以修复WordPress中的SSL / HTTPS混合内容错误。我们将向您展示它们,然后您可以选择最适合您的一个。

1.使用插件修复了WordPress中的混合内容错误

这种方法更容易,建议初学者使用。

只需安装并激活Really Simple SSL插件即可。有关更多详细信息,请参阅有关如何安装WordPress插件的分步指南。

激活后,您需要访问设置»SSL用于查看插件设置的页面。真正简单的SSL开箱即用,将自动处理SSL / HTTPS设置并修复混合内容错误。

Really Simple SSL settings

注意:该插件尝试使用输出缓冲技术来修复混合内容错误。这可能会对您的网站产生负面影响。但是,如果您使用的是缓存插件,那么它只会影响第一页加载。

2.手动修复WordPress中的混合内容错误

此方法需要手动排除故障,但它更有效,性能更好。

首先,您需要确保在WordPress设置中使用HTTPS。去设置»常规页面并确保WordPress地址和站点地址选项具有HTTPS URL。

WordPress URL settings

如果您看到以HTTP开头的URL,则需要继续将其更改为HTTPS。不要忘记单击保存更改按钮来存储您的设置。

接下来,您需要在WordPress数据库中查找旧的HTTP URL,并将其替换为新的HTTPS URL。

您可以通过安装和激活Better Search Replace插件轻松完成此操作。有关更多详细信息,请参阅有关如何安装WordPress插件的分步指南。

激活后,您需要访问工具»更好的搜索替换页。在“搜索”字段中,您需要使用HTTP添加网站网址。之后,在“替换”字段中使用https添加您的网站网址。

Search and replace URLs in database

该插件现在将更新WordPress数据库中的URL。

如果您仍然看到混合内容错误,则下一步是对WordPress主题和插件中的URL进行故障排除。

使用浏览器的Inspect工具,您需要找到导致错误的资源以及从哪里加载错误。

Using inspect tool to locate mixed content errors

对于主题资源,您需要在WordPress主题中找到它们并用HTTPS替换HTTP。

这部分对于初学者来说可能有点困难,因为他们必须在所有主题文件中查找URL。

如果您无法自己找到它们,那么您也可以联系主题开发人员并请求他们更新主题。他们需要使用WordPress最佳实践来加载文件,这将解决HTTP / HTTPS问题。

同样适用于WordPress插件加载的混合内容。我们不建议您自己编辑插件文件来更改URL。您应该通知插件开发人员并请求他们进行更新。同时,您可以在您的网站上禁用该插件或查找替代插件。

3.在移至SSL / HTTPS后修复太多重定向错误

WordPress允许您通过在wp-config.php文件中输入以下行来为管理区域强制执行SSL / HTTPS。

define("FORCE_SSL_ADMIN", true);

但是,在某些情况下,仅此设置会导致“重定向太多”错误。要解决这个问题,您需要将以下代码添加到wp-config.php文件中,就在“那就是全部,停止编辑!快乐的博客。’。

define("FORCE_SSL_ADMIN", true);
// in some setups HTTP_X_FORWARDED_PROTO might contain 
// a comma-separated list e.g. http,https
// so check for https existence
if (strpos($_SERVER["HTTP_X_FORWARDED_PROTO"], "https") !== false)
       $_SERVER["HTTPS"]="on";

4.将WordPress HTTP修复为HTTPS重定向

除非您告知它,否则WordPress不会自动将HTTP请求重定向到HTTPS。如果您使用的是像Really Simple SSL这样的插件,那么它会处理重定向。否则,您必须手动设置重定向。

要将HTTP设置为HTTPS重定向,您需要将以下代码添加到.htaccess文件中。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

我们希望本文能帮助您解决WordPressSSL / HTTPS的一些常见问题。如果您遇到本文未涉及的问题,请发表评论告诉我们。我们将使用解决方案更新文章。您可能还希望看到我们的终极WordPress安全指南,以及初学者保护其WordPress网站分步说明。

评论被关闭。