把12个站点从HTTP迁到HTTPS踩过的5个坑

王尘宇 经验分享 2

今年3月到5月,我把手头管的12个站点全部迁到了HTTPS。过程挺折腾的,五个坑,一个一个说。

坑一:混-合内容。迁完第一天,浏览器地址栏显示的不是绿锁而是灰色感叹号。我以为证书配错了,查了半天发现是页面里有一张图片的src还是http://开头的。更坑的是,这张图不是手动写的,是WordPress主题函数调用logo时自动拼接的——拼出来的地址直接写死了http。解决方案:数据库里跑了一句UPDATE把wp_options里的siteurl和home都改成https,又加了一个.htaccess规则,301强制跳转。

坑二:百度站长平台的https验证。百度这块做得特别慢——http站点提交https验证,后台排队排了12天才通过。通过之后发现之前的收录掉了一半。百度官方的说法是「https站点需要重新抓取和评估」。实际上等了大概三周,收录才回到原来的水平。

坑三:CDN回源。我用的是又拍云CDN,迁到HTTPS之后如果CDN回源到源站还是http,证书链就断了。在又拍云后台把回源协议改成HTTPS之后,又发现源站的SSL证书和他们CDN的证书不兼容——最后重新申请了一张泛域名证书才解决。

坑四:第三方嵌入。有个站点之前嵌了别人的天气小插件,JS写的,地址是http的。迁完直接白屏——浏览器把http的JS直接拦了不给加载。最后找到那个服务商的https版地址替换,多了两步操作但总算搞定了。教训:迁移前先把站点里所有外部资源扫一遍。

坑五:宝塔面板的证书自动续期。宝塔的Let's Encrypt自动续期功能,在同时管12个域名的时候出现过两次证书到期没续上的情况。排查发现是宝塔的定时任务跑超时了——12个域名串行续,后面的还没轮到就被系统杀了。后来手动把这12个域名的续期任务拆成三组,cron错开执行。

迁移本身不难。真正花时间的永远是排查那些你以为没问题的地方。

标签: https SSL证书 网站迁移 宝塔面板 经验分享

发布评论 0条评论)

  • Refresh code

还木有评论哦,快来抢沙发吧~