WordPress中常见的4类SSL证书问题

2018年8月15日07:27:42 发表评论 68 views

有时将WordPress网站移动到SSL会导致意外错误出现,如果你在添加SSL时也遇到这样的错误,那么,下面正好介绍WordPress中添加SSL / HTTPS时最常见的问题。

WordPress中常见的4类SSL证书问题

 

什么是SSL / HTTPS

为什么我们应该尽快升级到HTTPS?SSL / HTTPS是一种加密方法,可以保护用户浏览器和服务器之间的连接,使黑客更难以窃听连接。每个启用SSL / HTTPS的站点都会获得一个唯一的SSL证书,以便识别。如果服务器假装使用HTTPS,并且其证书不匹配,则大多数主流浏览器将警告用户连接到该网站。

去年,谷歌宣布计划通过鼓励网站所有者开始使用SSL / HTTPS来提高整体网络安全性。作为此计划的一部分,Google的Chrome网络浏览器现在将没有SSL证书的所有网站标记为“不安全”。浏览器地址栏中的“不安全”标签让你的网站给用户留下了不良的印象。除此之外,如果想要建立在线商店或想要使用PayPal,Stripe,Authorize.net等支付服务,还需要启用SSL / HTTPS 。

考虑到优缺点,所有网站都需要切换到SSL / HTTPS。可以参考阅读:从HTTP升级到HTTPS完全配置手册

 

下面来看看WordPress中SSL / HTTPS的一些常见问题以及如何解决:

一、NET :: ERR_CERT_INVALID错误

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

WordPress中常见的4类SSL证书问题

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

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

如果是购买的SSL证书,可以要求服务器提供商安装,也可以联系他们来修复。如果是手动安装的SSL证书,请尝试重新安装或联系SSL证书提供商获取支持。

 

二、WordPress没有全站开启SSL / HTTPS错误

混合内容错误是由仍使用URL中的不安全HTTP协议加载的源(图像,脚本或样式表)引起的。如果出现这种情况,网站在地址栏中不会显示安全小绿锁图标。

WordPress中常见的4类SSL证书问题

 

有两种方法可以修复WordPress中没有全站开启SSL / HTTPS错误:

1、使用插件修复

使用插件很容易,建议初学者使用。安装并激活Really Simple SSL插件即可。

启用插件后访问 设置 » SSL 页面以查看插件设置,启用插件后会自动处理SSL / HTTPS设置并修复没有全站启用HTTPS的链接。

WordPress中常见的4类SSL证书问题

注意:插件使用输出缓存技术来修复混合内容错误,这会影响网站的表现。但如果使用了缓存插件,它只会影响第一次加载速度。

 

2、手动修复

此方法需要手动排除故障,但更有效,性能更好。详细方法可以阅读:WordPress全站开启https的方法

 

三、修复重定向太多错误

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

  1. define('FORCE_SSL_ADMIN', true);

但是,在某些情况下此设置会导致“ 重定向太多 ”错误。要解决这个问题,需要将以下代码添加到wp-config.php文件中,位置在‘That’s all, stop editing! Happy blogging。’

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

 

四、HTTP重定向到HTTPS

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

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

  1. <IfModule mod_rewrite.c>
  2. RewriteEngine On
  3. RewriteCond %{HTTPS} off
  4. RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
  5. </IfModule>
网络转载

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: