wordpress在AMH控制面板下林侦通博客全站启用https教程

博客于2016年12月27日重新上线,本次重新开写博客主要是想同大家分享一些互联网创业心得,因为每个人的生活都是“在路上”,博客已经到今天刚好5个月,这几个月时间里可以说得上博主再一次创业的过程,总之一句话:“很忙”,这篇文章很早就想更新出来了,一直在后台保存着草稿,网站开启https已有3个月,所以同大家分享一下网站上HTTPS利弊。

wordpress在AMH控制面板下全站启用https教程

百度2014年底,对部分地区开启了https服务,如今百度已经全部启用https服务,2015开始鼓励站长开启https,其实大多数人对HTTPS持观望态度,他们对HTTPS安全性是认可的,但是从各个层面进行考虑后,做出了目前不做HTTPS网站的决定,主要有以下两种观点:

正方观点

1、HTTPS具有更好的加密性能,避免用户信息泄露;

2、HTTPS复杂的传输方式,降低网站被劫持的风险;

3、搜索引擎已经全面支持HTTPS抓取、收录,并且会优先展示HTTPS结果;

4、从安全角度来说个人觉得要做HTTPS,不过HTTPS可以采用登录后展示;

5、HTTPS绿锁表示可以提升用户对网站信任程度;

6、基础成本可控,证书及服务器已经有了成型的支持方案;

7、网站加载速度可以通过cdn等方式进行弥补,但是安全不能忽略;

8、HTTPS是网络的发展趋势,早晚都要做;

9、可以有效防止山寨、镜像网站;

反方观点

1、HTTPS会降低用户访问速度,增加网站服务器的计算资源消耗;

2、目前搜索引擎只是收录了小部分HTTPS内容,应该保持观望制度;

3、HTTPS需要申请加密协议,增加了运营成本;

4、百度目前对HTTPS的优先展现效果不明显,谷歌较为明显;

5、技术门槛较高,无从下手;

6、目前站点不涉及私密信息,无需HTTPS;

7、兼容性有待提升,如robots不支持/联盟广告不支持等;

8、HTTPS网站的安全程度有限,该被黑还是被黑;

9、HTTPS维护比较麻烦,在搜索引擎支持HTTP的情况,没必要做HTTPS;

以上两个观点,都有道理,个人觉得开不开启根据自己网站业务开展,如果是金融、电商类,个人是比较建议开启HTTPS服务,特别是后台登录或者是用户注册,这些重要信息路径,正解使用https可以有效防止数据的侧漏。

google支持https

谷歌曾在2014年8月份调整搜索引擎算法,并称“比起同等HTTP网站,采用HTTPS加密的网站在搜索结果中的排名将会更高”,随后Bing、yahoo等搜索引擎亦慢慢开始支持,截止2017年4月,google、Bing对开启https的站都给了很不错的权重,收录HTTPS也非常快(如,下图所示)。如果你是做外贸站,你的客户是使用Google、Bing、Yahoo这些搜索引擎的,那强烈建议你的站上HTTPS。

林侦通博客Bing搜索引擎收录HTTPS

今天2017年4月27日“百度站长平台”微信发布的一篇文章“厦门沙龙圆桌论坛如何变成一场站长吐槽大会”,其中有就有“HTTPS收录不如HTTP”的槽点。

百度官方给出的答案是:【亟待解决,高优处理

搜索主任架构师谭待

不管是从安全体验还是从技术的进步上来说,HTTPS都是一个不可逆的过程。但我承认,这个过程很复杂,可能有一些是百度的失误,也有可能是操作的失误,总之,如果有这样的问题请第一时间反馈给我们,我一定安排人员高优处理。

其实站在百度方面来看待是否全面支持HTTPS这的确是一个不小的问题,一个要解决技术上的问题,二个在支持HTTPS方面投入的服务器与硬件资源肯定也会有一定的增加,重要的是如果你一上来就开启HTTPS话,我对你网站里面的内容不好把控,万一你里面有违法信息(如色情、政治内容等),而国内的一些节点又没有升级完成(你懂的),内容上就不好把控了。

说真的这个真的不是百度技术不行,而是相关部分技术是否能及时跟进而已,目前像国内的一些比较老的站,如果开启HTTPS,在百度搜索引擎上很快就能显示出来,毕业都是老站了,你网站是什么内容大家都清楚得不能清楚了。

SSL证书

而对于国内SSL证书的申请,国内的服务器提供商与CDN商家都免费提供网站使用1年时间,当然这是比较入门级的SSL证书,加密与安全性方面与高额费用买的证书还是有不少区别的。当然这个申请也是实名制的,当然目前国内的服务器商家、域名商家已经全部实行实名制,像阿里云基本可以扫描到你网站上是否有“违规”信息,如果有是直接不以显示,电话过来让你删除处理(博主也接过几次)。

基本来说,国内的IDC基本都是良民专用的,是的,像博主这样的良民、优秀乡村农民就是使用国内的主机。像那些“不良人”基本都是放在美国、香港、日本、台湾、韩国等地。

AMH面板下Wordpress怎么开启HTTPS?

网上也有比较多的方法,如果按博主的方法操作搞不定那,那就多问一下度娘,或者google。

第一步:首先登录AMH控制面板,在【模块扩展】中搜索“SSL”,然后安装“BBShijieSSL”模块(如,下图所示)。

安装bbshijieSSL插件

第二步:安装成功后然后点击“管理模块”把你申请到证书“key”与“crt”里面的内容放到里面来(如,下图),然后选择你对应的主机,保存即可。

安装SSL证书

方法一:登录和后台强制开启SSL

1、登录和后台强制开启SSL,可以通过修改WP-config.php文件,直接在文件末尾加入以下两行代码:

1
2
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);

或者在确认WordPress站点已经开启https协议并可以通过https访问,那么可以直接登陆后台,通过“设置”中“常规”里面把“WordPress地址(URL)”、“站点地址(URL)”两个地址的http修改为https并保存。

wordpress后台添加https

方法二、代码方式让WordPress开启整站HTTPS协议

如果使用了WordPress的多媒体上传和插入图片附件的时候,附件都被WordPress标记为了绝对链接,一般需要修改数据库,但这种方法非常不推荐的,对于不是非常熟悉数据库的同学们估计网站直接被毁也是可能的,下面推荐另一种方法。

在编辑当前主题下的 function.php 文件,加入以下代码:

代码一:HTTPS绝对链接替换

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//WordPress SSL at 2016/12/29 update
add_filter('get_header', 'fanly_ssl');
function fanly_ssl(){
if( is_ssl() ){
function fanly_ssl_main ($content){
$siteurl = get_option('siteurl');
$upload_dir = wp_upload_dir();
$content = str_replace( 'http:'.strstr($siteurl, '//'), 'https:'.strstr($siteurl, '//'), $content);
$content = str_replace( 'http:'.strstr($upload_dir['baseurl'], '//'), 'https:'.strstr($upload_dir['baseurl'], '//'), $content);
return $content;
}
ob_start("fanly_ssl_main");
}
}

代码二:HTTPS相对链接替换

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//WordPress SSL
add_filter('get_header', 'fanly_ssl');
function fanly_ssl(){
	if( is_ssl() ){
		function fanly_ssl_main ($content){
			$siteurl = get_option('siteurl');
			$upload_dir = wp_upload_dir();
			$content = str_replace( 'http:'.strstr($siteurl, '//'), strstr($siteurl, '//'), $content);
			$content = str_replace( 'http:'.strstr($upload_dir['baseurl'], '//'), strstr($upload_dir['baseurl'], '//'), $content);
			return $content;
		}
		ob_start("fanly_ssl_main");
	}
}

以上两种方式都可以实现HTTPS,"方法一"主要是通过直接修改WordPress的配置以及将之前的http协议直接通过数据库执行替换命令修改为https协议,这样算是一个一劳永逸的方式,同样网站以后也将必须使用https协议才能访问,如果哪天服务器关闭了SSL证书,那么很遗憾的告诉你,你还需要使用方法一中的方式反过来操作,如果你非常确定网站以后都会使用https协议,那么推荐使用方法一。

如果你是一个喜欢折腾,有太多不确定因素,那么可以使用方法二,同样还提供了两种代码解决方式都可以完美支持HTTPS协议,如果你的站点需要支持HTTP和HTTPS双协议共存,那么就选择使用代码二的相对链接替换方法,反之则推荐实用代码一的绝对链接替换方法。

到这里你的WordPress站内链接都将使用HPPTS协议,非本站点的链接保持原样,比如友情链接和站外图片链接等。

全站强制启用HTTPS如何操作呢?

AMREWRITE控件

Nginx系统下Rewrite添加以下规则:

1
2
3
4
if ( $scheme = http )
{
return 301 https://$server_name$request_uri;
}

如你是apache则添加以下规则

1
2
3
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [L,R]

最后,如果你的WordPress站点开启了HTTPS,如果在360浏览器、猎豹浏览器等打开地址栏前未显示绿色小锁图标,那么说明你的网站加载了非SSL引入的资源,建议大家仔细排查。

很多朋友问到我的是什么样的主机,下面同大家分享一下,这个主机是博主3年前买的,杭州阿里云机房,机械硬盘,并不是SSD固态硬盘。

林侦通博客服务器配置信息

CPU: 1核

内存: 2048 MB

操作系统: CentOS 6.5 64位

带宽: 2Mbps

系统盘:20GB

数据盘:30GB

发表评论

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

目前评论:3   其中:访客  2   博主  1

  1. 林侦通

    至于速度与性能上有哪些影响,因为我目前博客流量相对比较少,服务器资源使用也相对较少,如果流量上长,升级服务器内存、内核与带宽即可,像wordpress系统相对比较臃肿些,占用的资源会相对比较多,1万IP基本2核:2G:5M带宽够用,或者开一个CDN就完全够用了。

  2. 言曌博客 1

    教程写的很详细啊,十分值得收藏

  3. 知乎网友 4

    感谢分享,现在HTTPS,个人觉得也是很有必要开启的,我觉得可以以http与https共全的方式,这样这样因为百度收入时一般都是收入http的比较多,如果强制跳转到https打开速度上有一定的影响,所以收入的时候从百度跳转过来以http形式打开,如果点击其他页面就是https了。
    个人觉得这个是比较好的处理方案。