现在小七博客全站已经启用了Https访问了,中间的历程还是充满了挑战的,毕竟要修改的地方还是比较多,断断续续的折腾了3天时间。在之前小七结合部分网友的经验写了一篇”疑问:网站到底该不该上SSL?HTTPS有哪些优缺点?“,的确当时看到不少小伙伴的小站都使用上了https,想想自己是否要启用呢。这个想法一直在徘徊中,之后一直在想使用免费的还是收费的,最终还是选择了收费的SSL证书,一年也就是几十元,还是挺实惠的。
从长远来说,SSL已经成为了一种趋势,特别是一直走在前面的谷歌更是明确指出排名上面要好一些,而国内的百度、360等也逐渐的在完善SSL的相关信息,相信不久之后就会更好的支持啦!反正凡事都要去尝试……
现在就来分享一下我给博客添加SSL证书全站启用Https访问的过程,在添加SSL证书之前建议把网站整体打包备份一次(包括数据库哦),这一步是有必要的;如果使用有备份或者快照的云服务器,建议备份好之后在开始进行自己的折腾工作吧。
对于如何选择SSL证书以及如何配置SSL证书,这个大部分SSL证书出售商会提供一些教程,对于免费也可以找到相关的安装教程,看看就会操作了,这一步后期在进行补充,主要是小七使用的AMH5.x商业收费版,安装配置SSL非常的简单,直接在AMH后台进行操作,也就是一两分钟的事情。
安装非常的容易,但是全站启用并且做好301跳转需要花费不少的时间进行调试,特别是301跳转,设置不好,会出现不会跳转的情况。另外启用SSL之后可以缩略图显示不正常等等,这些问题都是存在的,比如小七博客现在就是这样的,大前端主题的一个通病就是更换了域名或者更换成HTTPS模式,缩略图就不正常了,具体的这一步还正在进行慢慢的查找吧。
现在来说说我是如何将内链网址全部替换为Https;Wordpress的话可以使用插件:Search & Replace;也可以直接使用SQL查询操作;小七采用的后者,最要是前者点击之后没有反应啊,后者操作也就是1分钟的时间就搞定了。
具体方法:
执行完成了网站首页和网站文章之类的URL,对于文章中的一些链接以及图片的URL仍然是旧的URL,如要更新这些URL地址,需要我们手动操作mysql数据库,依次执行以下sql语句:
UPDATE wp_posts SET post_content = replace( post_content, 'https://www.xqblog.com','https://www.xqblog.com'); UPDATE wp_comments SET comment_content = replace(comment_content, 'https://www.xqblog.com','https://www.xqblog.com'); UPDATE wp_comments SET comment_author_url = replace(comment_author_url, 'https://www.xqblog.com','https://www.xqblog.com');
注意:sql执行语句中的https://www.xqblog.com指的是老域名,而https://www.xqblog.com指的是你的新域名,在操作时更改为自己的就行啦!
这样基本上完成了文章中的一些链接以及图片的URL的更换工作;另外还需要修改一下自己手动添加的一些页面,基本上也就几分钟的时间,这要与你自己手动添加页面的多少哦。
在修改好文章中的一些链接以及图片的URL之后,接下来要做的工作就是进行域名301的重定向工作。小七使用的Linux服务器采用的是Nginx,所以需要修改conf规则下来。具体路径不同的服务器会不同,不过大致方法也是差不多的,一般在vhost文件里面。
1、打开conf文件(如果用的是LNMP0.6一体包则是在/usr/local/nginx/conf/vhost/xqblog.com.conf,如果使用的AMH5.x收费版,直接登录FTP就可以看到)
2、正常的话conf一般前面部分是显示是这样的:
server
{
listen 80; #listen end
server_name xqblog.com www.xqblog.com; #server_name end
index index.html index.htm index.php; #index end
3、现在你需要将一段Nginx服务器conf的301永久重定向规则添加在server_name xqblog.com www.xqblog.com;
下面:
if ($host != 'www.xqblog.com' ) {
rewrite ^/(.*)$ https://www.xqblog.com/$1 permanent;
}
或者
rewrite ^/(.*)$ https://www.xqblog.com/$1 permanent;
在修改好之后上传到服务器上面,重启Nginx服务器即可生效;
注:上面的两种添加方法请根据自己的配置选择,小七使用的是第二种。
如果全站启用Https后,会出现各种不兼容的问题。比如百度站内搜索不支持Https,模板需要修改的地方较多等等;对于新手朋友来说不建议折腾。