把网站从HTTP换成HTTPS,我踩了3个致命坑(附避坑指南)

网站支持 https

网站从创建开始就一直用的 http 协议,其实很早开始就报错了,一直懒得改,周末折腾了半天,终于把它给改过来了,遇到了几个坑,记录一下

证书

以前证书一年一换,现在改成了 90 天,我之前没换的主要原因就是这个,觉得自己总会忘记这个事情。好在搜索到一个神器 acme.sh,可以通过定时任务和脚本自动更新,于是在访问 http://cesium.xin 又又又又在碰到 网站不安全之后,终于下定决心换成 https。我是参考的这篇文章 https://www.mintimate.cn/2024/05/17/acmeShAutoWebSite/

CDN

之前使用了七牛的 CDN,用的 http,因为 https 是收费的,而且印象中之前尝试的时候一直各种警告,报错什么的,这是没换协议的次要原因,这次也一并改了。

插件

我使用了 geetest 的登录图片验证插件,切换 https 之后,图片无法显示,这里需要修改插件代码中的相关 url,也是 http 转 https

避坑:这里修改的时候,最好是通过页面报错来判断哪里出问题,但是改了https可能就进不去了,所以最好在http的情况下把错误记录一下。不过忘记记录问题也不大,就需要还原设置,修改设置多操作几遍。

容器

不管是用的 nginx,还是 apache2 都没关系,让 AI 帮你写好配置,然后重启服务,就能生效

wordpress 后台

wordpress 后台的 【设置】–【常规】 中的 WordPress 地址(URL)和 站点地址(URL) 需要从之前的 http://cesium.xin/wordpress 修改为 https://cesium.xin/wordpress,

避坑: 如果页面无法访问,无法登录了,就需要到 phpmyadmin 下面去改 wp_options 还原设置

最大的坑 缓存

我的网站使用了 缓存插件,但是设置的时候并没有注意,只是一直在刷新浏览器的缓存,就很奇怪,为什么怎么刷都不行,后面还是问的 AI,它列出缓存插件这一项,我才记起来,点赞 AI。

避坑:关闭缓存插件,改完之后再重新刷新,搞定。

做完上面的之后,就是细节调整了,我把整个系统和数据库都导出成文本(一定一定要备份),然后全局搜索了一下,一点点将相关的 php 相关内容修改掉,才终于完成,数据库就直接用sql替换了,主要是wp_post表里的链接需要修改,不排除后面还会有疏漏的地方(有些是通过变量写到代码里的),如果发现,请留言告诉我。

后记: 有了AI加持之后,网站浏览量已经被斩到了脚踝,但我还是慢慢在更新,也许不就之后就成了我一个人的空间了,不过还是要加油加油.

发表评论