首页 > 站长杂谈 > 新版360网站卫士在不支持HTTPS主机上实现WordPress全程HTTPS访问方法

新版360网站卫士在不支持HTTPS主机上实现WordPress全程HTTPS访问方法

前几天360网站卫士进行了升级,升级成了360新版网站卫士。新的360网站卫士在之前的基础上增加了HTTPS支持,可以自己上传证书或者由360为你生成证书。当使用360生成的证书时,用户到CDN的访问是HTTPS,CDN到源站的访问是HTTP,有效避免了因为主机原因而不支持HTTPS,很是方便。但是这对于WordPress可以说没什么卵用。因为WordPress需要先指定网站网站以及访问协议,网页中引用的所有CSS,JS都是事先指定的协议头,而且WordPress设置中不支持裸协议“//”。使用HTTPS访问WordPress网站会由于安全原因而停止加载以http协议引用的CSS、JS等,造成各式错乱。而在WordPress设定中将访问协议指定为HTTPS以后,访问网站时WordPress会检查使用的协议是否为指定的HTTPS协议,如果不是则跳转到HTTPS。新版360网站卫士会不断地将HTTPS访问修正为HTTP,造成死循环,以致网站无法打开。

真的就没有办法了吗?当然不是!最早免费推出这项功能的CDN服务商是美国的CloudFlare,其中包含一个Flexible功能,就是将HTTPS转换为HTTP的一种功能。为了使不支持HTTPS访问的WordPress网站也能通过Flexible功能来实现HTTPS访问,有人编写了一个名叫CloudFlare Flexible SSL的插件,用来解决HTTPS到HTTP的转换过程中出现的各种问题。打开插件源码发现仅仅是一句简单的代码

if ( isset( $_SERVER[ $sOption ] ) && ( strpos( $_SERVER[ $sOption ], 'https' ) !== false ) ) {
$_SERVER[ 'HTTPS' ] = 'on';
break;
}

运用这个思路,查看使用360网站卫士之后当以HTTPS和HTTP两种方式访问网站时请求头的不同结果发现没什么不同。无奈,只好去掉判断条件,在function.php文件中添加如下代码

$_SERVER[ 'HTTPS' ] = 'on';

保存,刷新,点击任意链接,发现期待已久的小绿锁终于出现了。

最后再说几点:

  1. 如果发现小绿锁变白了,那就说明你的网页中存在HTTP协议引用的资源,找到之后将“http://”改为“//”即可。最常见的造成这种问题的原因是以HTTP协议引用了图片。
  2. 新版360网站卫士如果自己上传证书的话,当使用HTTPS协议访问时,CDN到源站的访问也是HTTPS,网站卫士不会对访问作出修改。
  3. 新版360网站卫士相比以前在使用的时需要上传本人身份证明材料,有极强的隐私保护意识的朋友将无法使用。

就说这些吧。祝各位朋友在折腾的道路上越走越开心!


使用以上方法进行全站HTTPS以后发现百度收录越来越少,最后只剩了一个首页,才发现网站卫士对搜索引擎是回源的。而原网站不支持HTTPS,所以造成了无法访问的假象。换言之,以上方法不适于SEO

  1. 2016年6月20日17:07 | #1

    顺便说一下,假如只是为了尝尝鲜,可以随便上传两张图片,然后等待审核。审核期间功能网站卫士全部功能不受限制,可以使用所有功能。这个办法不要多次尝试,不然会被封号。

  1. 本文目前尚无任何 trackbacks 和 pingbacks.