如何修复WordPress中的常见SSL问题(初学者指南)
最后更新于2024年6月24日 | 审核人:Syed Balkhi
您在WordPress网站上遇到SSL问题吗?将WordPress站点移动到SSL时,有时会遇到意外问题。如果您正在给现有的WordPress站点添加SSL证书并遇到错误,那么您来对地方了。本文将向您展示如何修复WordPress中最常见的SSL问题。
什么是SSL/HTTPS,以及为什么应立即开始使用它?
SSL是“安全套接字层”的缩写,是一种加密技术,可在用户的浏览器和您的WordPress托管服务器之间创建安全连接。一旦启用SSL,您的网站将使用HTTPS而不是HTTP。您还会在浏览器中的网站地址旁边看到挂锁或“调优”符号,以显示其安全性。
SSL/HTTPS使黑客更难窃听连接。每个启用SSL/HTTPS的网站都会发放一个唯一的SSL证书用于识别。如果服务器只是假装在HTTPS上,并且其证书不匹配,则大多数现代浏览器会警告用户不要连接到该网站。
谷歌鼓励所有网站所有者使用SSL/HTTPS以提高整体网络安全性。这就是为什么Chrome将所有没有SSL证书的网站标记为“不安全”。
浏览器地址栏中的“不安全”标签会给您的客户留下不好的印象。除此之外,如果您想开设在线商店或使用如PayPal、Stripe和Authorize.net等支付服务,您也需要启用SSL/HTTPS。综上所述,所有WordPress网站都需要切换到SSL/HTTPS。
修复WordPress中SSL/HTTPS常见问题的方法
1. 修复NET::ERR_CERT_INVALID错误
NET::ERR_CERT_INVALID错误消息出现在Google Chrome中。其他浏览器显示的消息略有不同,但基本上是警告用户其连接到您的网站是不安全的。这种SSL错误消息表明,用户的Web浏览器不接受网站提供的证书。这可能是由于多种原因引起的:
- SSL证书颁发给不同的域名或子域
- 证书已过期
- 您的浏览器不识别颁发证书的机构
如果您购买了SSL证书并要求您的WordPress托管提供商为您安装,那么您可以联系他们来修复。如果您手动安装了SSL证书,请尝试重新安装或联系您的SSL证书提供商获取支持。
2. 修复迁移到SSL/HTTPS后的混合内容错误
混合内容错误是由于URL中仍使用不安全的HTTP协议加载资源(如图像、脚本或样式表)而引起的。如果是这种情况,您将无法在网站地址栏中看到安全挂锁或“调优”图标。
有两种方法可以修复WordPress中的SSL/HTTPS混合内容错误。我们将向您展示这两种方法,然后您可以选择最适合您的方法。
使用插件修复混合内容错误
此方法更简单,并且推荐给初学者。但它可能会对您的WordPress性能产生负面影响,因为插件尝试通过使用输出缓冲技术来修复混合内容错误。不过,如果您使用了缓存插件,则只会影响初次页面加载。返回的访客不会注意到性能上的差异。
首先,您需要确保您有SSL证书。如果不确定是否有SSL证书,请参阅我们的指南,了解如何为您的WordPress网站获取免费SSL证书。然后,简单安装并激活Really Simple SSL插件。有关详细信息,请参阅我们逐步指南,了解如何安装WordPress插件。
激活后,您需要访问WordPress管理仪表盘中的设置 » SSL页面,查看插件设置。Really Simple SSL插件开箱即用,将自动处理您的SSL/HTTPS设置并修复混合内容错误。
手动修复混合内容错误
此方法更有效,对您的网站性能更好。然而,它需要手动排除故障。首先,您需要前往设置 » 常规,并确保“WordPress地址”和“网站地址”选项已将URL设为HTTPS。如果您看到以“http”开头的URL,则需要将其更改为“https”。别忘了点击“保存更改”按钮以存储您的设置。接下来,您需要在WordPress数据库中找到旧的HTTP URL并将其替换为新的HTTPS URL。
您可以通过安装并激活Search & Replace Everything插件轻松做到这一点。有关详细信息,请参阅我们逐步指南,了解如何安装WordPress插件。激活后,您需要访问工具 » 搜索&替换页。在“搜索”字段中添加您带有HTTP的网址。然后,在“替换”字段中添加您的带有‘https’的网址。接下来,点击“预览搜索&替换”按钮,查看将替换的网址,并按“替换所有”按钮以继续。插件现在将更新您WordPress数据库中的URL。
如果仍然看到混合内容错误,则下一步是排除WordPress主题和插件文件中的URL故障。使用浏览器的检查工具,您需要找到导致错误的资源,并记下它们从哪些网站文件中加载。如果您对编辑WordPress文件有经验,则可以使用FTP或您的Web托管文件管理器访问这些主题文件。您需要编辑每个文件并将‘http’替换为‘https’。另一个选择是联系主题开发人员并请他们更新其主题。他们将需要使用WordPress最佳实践加载文件,这将修复HTTP/HTTPS问题。同样,对于由WordPress插件加载的混合内容,我们不建议自己编辑插件文件,因此您应该通知插件开发人员并请求更新。同时,您可以禁用站点上的插件或找到替代插件。
3. 修复迁移到SSL/HTTPS后的重定向过多错误
WordPress允许您通过在wp-config.php文件中输入以下行来强制管理员区域使用SSL/HTTPS:
define('FORCE_SSL_ADMIN', true);
然而,在某些情况下,仅此设置可能会导致“重定向过多”错误。要修复此问题,您需要在wp-config.php文件中,在“编辑完成,快乐写作”之前添加以下代码:
define('FORCE_SSL_ADMIN', true);
// 在某些设置中,HTTP_X_FORWARDED_PROTO可能包含以逗号分隔的列表,例如http,https
// 因此检查https的存在
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文件中添加以下代码:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
我们希望这篇文章帮助您解决了一些在WordPress中遇到的常见SSL/HTTPS问题。您可能还需要查看我们的终极WordPress安全指南或我们的最佳WordPress SEO插件和工具专家推荐。如果您喜欢这篇文章,请订阅我们的YouTube频道,观看更多WordPress视频教程。您还可以在Twitter和Facebook上找到我们。