https站长应该都有所耳闻,简而言之就是http的安全版,比http更加安全,增加了传输层的安全保证,防止挟持和被抓包而且是并行下载通道,速度也可以。除了技术上的优势,各大搜索引擎(谷歌、百度)均已宣布,使用https会在搜索排名中给予优待。所以说https是趋势,今天分享一下我是怎么开启全站https的。
一、获取ssl证书
这一步比较简单,有条件的可以去买优质的付费SSL证书,免费的普通证书也有很多,小编用的就是阿里云免费的ssl,直接去阿里云产品搜索ssl找到免费的购买,认证,审核完成就可以下载证书了,注意下载与自己主机软件对应的证书。
二、宝塔后台进行网站https设置
进入后台选择网站-设置-ssl-其他证书(如下图),把下载的证书中的key和pem分别复制下来填入对应的框中,点击保存,开启强制https,这个时候网站理论上讲就可以正常访问了,但是大部分网站都还会有一定的问题。
三、配置cdn加速https(没有启用cdn的站长忽略此步骤)
因为小编开启了cdn,所以需要做一步cdn的设置,具体设置和步骤二类似(如下图),找到cdcn设置,点击https设置,修改配置,开启安全加速,点击免费证书,填入名称、内容、私钥(在步骤一下载的证书内都有)。
四、内部资源链接变更
因为https的链接已经可以访问了,这时候要进后台把网站网址有http变更到https,绝大部分导航中的链接就由网站系统自动改为https版本了。但很可能还有一些导航性质的链接是硬编码在模板中的,比如这个博客帖子下面的版权声明,那是人工写在模板里的,别忘了改。
除此之外还有大量的文章内部链接也需要修改,由于数据庞大,我们依靠数据库运行指令。宝塔软件内部有phpMyadmin,我们只需要用代码泡一下就可以了,因为我是discuz系统,代码如下:
UPDATE pre_forum_post SET message=REPLACE(
message,'http://www.guajiba.cn/',
'https://www.guajiba.cn/');
如果是使用的WordPress系统,运行这段代码:
update wp_posts set post_content = replace(
post_content, ‘http://www.innimp.com/’,
‘https://www.innimp.com/’);
走完这一步,文章内部的的链接、锚文本、图片路径都随之变更为新的了。
五、权重转移
到这一步虽然我们能访问网站,但是用户并不知道我们更换了https,大部分人还回去访问之前的默认http网址,而且对搜索引擎而言你之前的http网站是权重非常大的,我们不能浪费了这样的权重,因而要做301权重转移。我用的是Linux系统阿帕奇软件,只需要在.htaccess文件中加:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.guajiba.cn/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^guajiba.cn [NC]
RewriteRule ^(.*)$ https://www.guajiba.cn/$1 [L,R=301]
这个代码只是举例,也是我用的实际代码,还有其他写法也可以,只要实现了301就行。访问原http版本页面,检查301是否生效。
六、站长平台发起认证
因为我们大部分个人站长,要顾及搜索引擎的感受,最大的减少因为改动造成的权重信任度的损失,所以我们要主动去百度站长平台https认证,这个认证很简单,只要完成了以上五步,点击https认证基本上几分钟就能完成认证。这是我认证完成之后的截图,满满的成就感有没有?
问题小结:
这中间会有一些人出现一些问题,我在这里给大家总结一下:
1、https网站引用http路径的js和css失效解决办法。
在https的网站中引用http路径的js或css会导致不起作用,其表现就是没有任何样式存在,访问https只剩下文字,其代码形如:
<script src="http://www.guajiba.cn/jquery-1.11.0.min.js"></script>
解决办法:
将http:去掉,改为
<script src="//www.guajiba.cn/jquery-1.11.0.min.js"></script>
2、网站启用https后打不开,或者一直处于加载的过程中页面丢失。
这种情况常常是由于后台安全组只启用了80端口,没有开启443端口,因为https是走的443端口,所以网站一直处于加载中。
解决办法:去后台启用443端口。
到此为止,您可以享受https带来的更优质的体验了,过程虽然繁琐,但结果很迷人。