VPS大学全站启用https访问,记录SSL配置方法、网站内链修改,数据库修改及SSL小绿标不显示原因排查 网站http升级https详细过程
VPS网站今天起全站开启SSL,开启HTTPS访问了。过程也比较复杂,写一个备忘录吧。如果你也想要折腾一番,可以先买个练手的VPS来玩玩,适合入门的VPS汇总见博文:搬瓦工VPS:最新6%优惠码 线路如何选择 经典建站套餐及换IP政策解读 最低KVM512MB 128元/年 新增CN2 GIA限量版 512M内存 37.49美元/年
ssl升级前的准备工作:
1、保证要升级为https访问的网站正常访问,DNS解析正常,DNS解析推荐用国外的CloudFlare , 网址:https://www.cloudflare.com/ ,VPS就是用的这家的dns解析服务,后面解析TXT记录要用到;
2、安装好宝塔面板,本次升级以宝塔面板为例,本例通过宝塔面板获得免费的Let's Encrypt SSL证书;
3、安装好一个编辑器软件,这里我用的是NotePad++,网站下载一个安装好,后面编辑代码,替换网址要用到;
4、核心内容,把当前站点的数据库、网站文件都备份出来,以防出错,以便恢复。
SSL详细配置、升级过程
1、登录宝塔面板后台,选择你的网站---设置,弹出设置页面,切换到SSL标签,验证域名,添加TXT记录,就可以自动生成SSL证书,配置成功如下图:
到这一步,SSH证书就算申请好了。
2、用NotePad++软件打开前面导出到本地的MySql备份文件,如下图:
打开后,用NotePad++软件的查找替换功能,把所有的“http://”替换为“https://”,如下图:
一共替换了39348个链接,好多了。到这一步,本地导出来的mysql备份里面的网址全部是https://的了,接下来把这个修改好的备份数据库导入到网站数据库上去。
3、清除现在网站上的所有数据库,我的做法是走宝塔面板后台进phpmyadmin管理面板,选中网站数据库的所有表格,点“删除”,删除全部的表格,然后在重新导入备份,如下图:
删除后,点“导入”,导入上一步修改好的备份进去,导入成功后,即可。
4、重点检查数据库中的其他表格,看看还有没有http://开头的链接,一个一个手动修改成https://,重点检查:wp-post表格,这个表格管理的是网站以前发布博文的链接,发现有很多http://网址,这里还继续要用一次批量替换,这步我是通过SQL语句直接替换,虽然有一定的风险,但只要提前做好备份这是最一劳永逸、节能环保方法了。命令如下:
具体的SQL语句和示例如下:
#WordPress 的数据库里wp_posts表(文章内)的http前缀替换
UPDATE wp_posts SET post_content = replace(post_content,'old','new');
#示例UPDATE wp_posts SET post_content = replace(post_content,'http://www.mydomain.com','https://www.mydomain.com');
记得替换示例里面的www.mydomain.com为你自己的网址哦!
记住这样的替换是永久性质的,如果想放弃https的话,还需要反着再次替换的,当然大家也可以使用网上的在 WordPress 内替换的方案,但这样的会徒增网站载入时间,不绿色不环保!
操作完上面这步,文章内的网址的替换工作完成了90%,如果还是灰色的https,小绿锁依然没有出现,特别是首页或者文章目录页,这时就是缩略图前缀的问题了,这个问题一般出现在指定特定图片为缩略图的 WordPress 自定义栏目里的图片链接的,同样的,这类也可以通过MySQL的SQL语句来替换的,具体代码示例如下:
# WordPress 自定义栏目的内容替换
UPDATE wp_postmeta SET meta_value = replace( meta_value, '旧内容','新内容') ;
#示例
UPDATE wp_postmeta SET meta_value = replace( meta_value, 'http://www.mydomain.com','https://www.mydomain.com) ;
同理,记得替换示例里面的www.mydomain.com为你自己的网址哦!
操作完以上者几步,基本上完成了所有http前缀的替换了,刷新一下你的网站首页,看看浏览器网址栏最左边“小绿锁”是否显示正常,如果显示了小绿锁那就大功告成了。
5、小绿锁不显示的疑难问题。很显然,事实上没有那么简单,小绿锁还真没有那么容易出来。这里要先搞明白小绿锁能够正常显示的要求,要求就是所在的页面网址全部都是https://,只要有一个网址是http://开头的,就不显示小绿锁,听着很蛋疼。下一步介绍如何排除。
6、查看网站首页源代码,把源代码复制到NotePad++软件上,利用查找功能,搜索源代码上中存在的http://开头的网址,找到http://位置后,修改网站上对应位置的网址,一个一个替换成https://,直到源代码中不再有http://开头的网址。
7、检查WordPress后台设置,有些网址是在WordPress后台设置的,把这些网址都换成https://开头的,再次检查WordPress小工具添加的侧边栏网址等位置,都换成https://开头的网址。修改后在重新刷新网站首页,看看小绿锁是否显示,这里还有一个更加高效的办法,如果你的是Windwosw10系统,可以使用Windows10 EDGE浏览器,里面有一个网络---检查元素,一眼就可以看出那个还是通过http://网址访问的,位置一下子就找到了,方便快捷又高效,如下图:
8、一些可以保留http://开头网址的位置。VPS站长在实际摸索的过程中发现,有些特殊位置还是可以保留http://开头的网址的,小绿锁还是会正常显示,这些已知的特殊位置是:添加cnzz统计代码这个位置、底部友情链接位置。VPS网站上的友链有很多个都是http://开头的,这并不会影响小绿锁显示。
9、不断探索,有更好的办法请告诉我一声,一起快乐玩VPS。
详细过去稍后更新
本文由 vps网友提供 刊发,转载请注明出处