如何修复WordPress网站常见的SSL问题

错误类型:
其他错误
错误名称:
常见 SSL 问题
英文名称:
Common SSL issues

如何修复WordPress网站常见的SSL问题

在 WordPress 网站上安装安全套接字层(SSL)证书,就像雇了一个保镖,将不速之客拒之门外。这是明智之举。但偶尔你可能会遇到一些门卫问题。这些小插曲被称为 SSL 问题。

显然,没有人希望自己的网站出现安全问题。但好消息是, 大多数 SSL 错误都有简单的解决方法。 只要稍加排查,就能让网站恢复正常工作。

在这篇文章中,我们将详细介绍如何在 WordPress 网站上安装 SSL 证书,并修复出现的任何问题。

SSL/TLS究竟是什么?

SSL 或安全套接字层是互联网上的秘密握手。它是一种使用加密技术保护网络浏览器和网站之间所有数据传输的系统。这可以防止任何人窃听您的连接。

TLS(传输层安全)是 SSL 的新替代品。它使用类似的技术发挥相同的作用,但安全性更高。

SSL/TLS 与超文本传输协议安全(HTTPS)(HTTP 的更新安全版本)一起工作。由于经过加密,HTTPS 提高了传输信息的安全性。

我们通常仍在谈论“SSL 问题”和“SSL 证书”,因为这些术语大家都很熟悉,但值得注意的是,TLS 在很大程度上已经取代了 SSL 协议–大多数现代浏览器只支持后者。

即便如此,在谈论安全连接时,SSL 和 TLS 还是可以互换使用。

什么是SSL/TLS证书?

在网络浏览器发送任何数据之前,它需要验证托管网络服务器的身份。SSL/TLS 证书就像身份证一样,证明服务器是合法的。

在技术层面上,SSL/TLS 证书更像是一个加密密钥。如果没有最新的证书,任何浏览器都不可能安全地连接到你的网站。

为什么要使用SSL/TLS

在 WordPress 网站上安装 SSL/TLS 证书有几个重要原因。

首先,它能让你的主机服务器与网络浏览器建立安全连接。这有助于防止安全漏洞,以免您的个人信息和客户数据受到损害。

因此,谷歌现在会惩罚没有 SSL/TLS 证书的网站。例如,它可能会向试图访问该网站的用户显示 “不安全 ”或 “您的连接不安全 ”的警告信息。

您的连接不是私有的

信息的具体措辞可能会根据您使用的浏览器而有所不同,但概念是相同的。

最终,这会损害您的参与度,妨碍您的搜索引擎优化(SEO)排名。因此,这也是确保网站安全的另一个很好的理由。

值得注意的是,某些类型的网站确实需要 SSL 证书才能有效运行。例如,如果你想开一家网店,就需要 SSL/TLS 加密,以便通过 Stripe、PayPal 和 Authorize.net 等网关接受在线支付。

如何修复WordPress中常见的SSL问题

既然我们已经对 SSL/TLS 有了一定的了解,下面我们就来谈谈它可能带来的意外问题。

下面是 WordPress 中最常见的五种 SSL 问题,以及如何逐一解决。

1. .NET::ERR_CERT_INVALID错误

如果你是谷歌浏览器(Google Chrome)用户,你可能遇到的最常见问题之一就是出现“NET::ERR_CERT_INVALID”错误信息。其他浏览器也可能出现这种情况,只是提示信息可能略有不同。

.NET::ERR_CERT_INVALID错误

在这两种情况下,该错误都意味着网站连接不安全。更具体地说,它表明签署 SSL 证书的证书颁发机构不在浏览器的可信提供商列表中。

除非你的 SSL 证书是从不正当渠道获得的,否则更有可能是设置或配置出了问题。

出现这种情况时,你可以采取几个步骤。首先,清除浏览器缓存。如果还不行,请禁用杀毒软件(这可能会干扰 SSL)。

如果本地解决方案不起作用,请检查 SSL 证书是否分配给了正确的域或子域,并且没有过期。

您可以点击浏览器地址栏左侧的小网站信息按钮或挂锁图标。证书的详细信息就会显示出来,你要确保证书显示“有效”。如果显示“无效”,则需要尽快通过此处列出的发行提供商进行更新。

SSL证书信息按钮

如果您自己安装了证书,可以尝试重新安装。不过,这次你可能需要使用不同的证书提供商,因为你的浏览器可能无法识别当前证书的颁发机构。我们建议使用 Let’s Encrypt

Let's Encrypt

如果证书分配给了正确的域并且是最新的,您可能需要联系您的托管服务提供商。他们应该知道该采取什么措施来解决问题。

2. 混合内容错误

转用 SSL 时可能遇到的另一种常见错误是混合内容警告。

简而言之,当网站上的图片、脚本或样式表在使用旧的、不安全的 HTTP 协议加载时,就会出现这种情况。换句话说,WordPress 的部分内容是安全的,而其他部分则不安全。嵌入式 YouTube 视频通常就是这种情况。

有两种方法可以解决混合内容问题。第一种是使用一个插件,如 Really Simple SSL

Really Simple SSL

在 WordPress 网站上安装并激活该工具后,插件会提供激活 SSL 的选项,并立即修复混合内容问题。如果你想做任何调整,可以通过 设置 > SSL & Security 访问插件。

Really Simple SSL仪表盘

如果您不想使用自动插件,也可以选择手动方法。要开始使用,请进入 WordPress 的 “设置”>“常规”

WordPress 地址(URL)站点地址(URL)下,检查确保 URL 使用的是“https”。

WordPress 地址(URL)和站点地址(URL)

保存更改后,即可安装 Better Search Replace 插件。

Better Search Replace 插件

使用该工具,您可以轻松搜索、查找和替换 WordPress 数据库中的旧 URL。激活后,导航至工具 > Better Search Replace

Better Search Replace搜索替换

在“搜索”字段中,可以添加以“http”开头的网站 URL。然后,在“替换为”字段中添加“https”。

完成后,保存更改。现在,当你刷新网站时,混合内容错误应该就会消失了。

注意:请记住备份您的网站,因为这会影响您的数据库。

3. 重定向过多

有些 SSL 问题是由重定向过多错误引起的。如果你要求 WordPress 对网站的管理区执行 SSL/HTTPS,就会出现这种情况。

要解决这个问题,你需要编辑 wp-config.php 文件。你可以使用安全文件传输协议(SFTP)客户端(如 FileZilla或虚拟主机账户中的文件管理器找到该文件。

要访问网站目录,请打开标有域名的文件夹。在其中,你会找到 wp-config.php 文件。

如果你使用的是 FileZilla,第一步就是连接到你的 WordPress 网站。如果这是你第一次使用 FTP 客户端,你需要从你的虚拟主机获取证书。连接后,在网站目录中找到 wp-config.php 文件。

wp-config.php 文件编辑

打开文件并插入以下代码行

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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';
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';
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';

确保将此添加到文件底部,即“That’s all. Stop editing! Happy blogging.”。完成后,保存更改并关闭文件。

4. HTTP到HTTPS重定向

WordPress 不会自动将您的网站从 HTTP 重定向到 HTTPS,您需要告诉它这样做。如果不创建这些说明,访问者可能会看到 SSL 错误。

自 WordPress 5.7 版起,只需点击一下 WordPress 控制面板 “站点健康 ”部分的说明,就可以将网站迁移到 HTTPS。进入“工具”,选择“站点健康”,然后点击按钮将网站更新为 HTTPS。

如果该选项不适合你的网站,可以使用 Really Simple SSL 等插件,或者通过编辑 .htaccess 文件手动配置 HTTP 到 HTTPS 的重定向。同样,你也可以通过 SFTP 或主机账户中的文件管理器来完成。您可以在共享域名的文件夹中找到该文件。

找到并打开 .htaccess 文件,然后添加以下代码

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] </IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

完成后请记得保存更改。如果您不方便编辑网站文件,建议使用插件或联系您的托管服务提供商寻求帮助。

5. 名称不匹配错误

当 SSL 证书中列出的域名与浏览器 URL 不匹配时,就会出现名称不匹配错误。要修复这个错误,你只需在 .htaccess 文件中添加以下代码:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] </IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

最后保存更改。当你再次访问 WordPress 网站时,应该不会再看到任何 SSL 错误信息了。

如何修复其他常见的WordPress错误

需要解决网站上的其他技术问题?我们为你准备了几份指南,帮助你排除一些最常见的 WordPress 错误

如果您正在寻找运行 WordPress 网站的技巧和最佳实践,请查看我们的 WordPress 教程。这里汇集了专家撰写的指南,旨在帮助您像专家一样浏览 WordPress 仪表板。

SSL/TLS错误常见问题

对 SSL 和 TLS 仍有疑问?你来对地方了。下面是一些最常见的问题以及相应的答案:

Q:WordPress需要SSL吗?

A:从技术上讲不需要。但是,如今没有 SSL/TLS 的网站会在所有浏览器中被标记为安全警告,并被所有搜索引擎严重降权。

如果你的网站处理任何敏感信息,如信用卡信息,不使用 SSL 就是自找麻烦。

Q:如何在WordPress上手动安装SSL证书?

A:首先,你需要购买并下载SSL证书文件。然后,你需要在网络服务器上生成证书签名请求(CSR),激活和安装证书,并更新 WordPress 以使用 HTTPS。

手动操作是一个复杂的过程,因此我们有专门的 SSL 教学指南来提供帮助。

Q:为什么我的每个网站都会出现SSL错误?

A:可能有以下几个原因:

  • 时间和日期设置:SSL 证书对时间很敏感。如果你的电脑设置了错误的时间或日期,可能会导致连接无效。
  • 浏览器缓存问题:浏览器缓存中的数据损坏有时会破坏 SSL/TLS 验证。
  • 软件更新:不良更新有时会导致 SSL/TLS 出错。
  • 杀毒软件:这些应用程序会干扰 SSL/TLS。
  • 网络代理:如果使用配置错误的 VPN,你可能会在每个网站上都看到 SSL/TLS 问题。

小结

如果你想保证网站的安全性并在搜索结果中出现,那么为 WordPress 网站添加 SSL 证书就非常重要了。通常,这是一个非常简单的过程。但正如我们在这篇文章中所发现的,可能会出现一些小插曲。

下面简要介绍最常见的错误及其解决方法:

  • .NET::ERR_CERT_INVALID 错误表明您的证书需要更新或重新安装。
  • 混合内容错误可手动修复,或使用 Really Simple SSL 等插件修复。
  • wp-config.php 文件中添加代码可以解决重定向过多的问题。
  • WordPress HTTP 到 HTTPS 的重定向需要使用 Really Simple SSL 等插件进行配置,或通过网站的 .htaccess 文件手动配置。
  • 当证书域名和浏览器 URL 不匹配时,就会出现名称不匹配错误;你需要在 .htaccess 文件中添加代码。

评论留言