记阿里云虚拟主机给 Typecho 安装 SSL
折腾经过
情况
- WEB 服务器:阿里云的虚拟主机
- CDN:七牛云
- SSL 证书:阿里云颁发的个人免费版
- Typecho 数据库:sqlite
安装 SSL
- 阿里云生成域名证书,下载后在七牛云上传,并配置域名
情况
- https 的小绿锁开始显示
- 访问基本正常,个别效果出现异常
- 登录界面异常,登录后界面空白
重装 Typecho
- 备份整个 Typecho 网站文件,因为是 sqlite 的数据库,备份打包直接下载,不需要操作 Mysql
- 下载了新的 Typecho 上传
情况
- 开始安装,发现第二步初始化配置配置完数据库等安装信息之后,就显示
请确认您的配置-数据库配置
,然后没办法进行下一步。
解决方案
- 阿里云控制台-虚拟主机-管理-高级环境设置-虚拟主机 PHP.INI 设置,开启
输出缓冲区数据块设置
- 设置完成后可以正常安装了,我继续选择了 sqlite 数据库,并在数据库名称的开头加上了.ht,是
.ht********.db
,因为以.ht 开头的文件名,apache 默认会拒绝被访客下载。 - 顺利的开始安装,我选择了原来的数据库文件,系统自动提示是否用原来的数据,我选择了是,然后安装完成。
情况
网站恢复了之前出问题的状态...
伪静态
- 去掉了网站的伪静态配置文件
情况
- 依旧不能正常访问
开启 https 代码
- 在配置文件
config.inc.php
中加入一行define(‘TYPECHO_SECURE’,true);//开启https
情况
- 好吧,这回连我的看板娘都没了...
评论代码
- 找到主题中的
comments.php
文件,在里面搜索$this->commentUrl()
,修改为echo str_replace(“http”,“https”,$this->commentUrl());
.
情况
- 涛声依旧
CDN
- 开启 CDN 有个设置,忽略 url 后面的?=xxx 参数,但是登陆 Typecho 后台需要这些参数,所以会导致后台登陆不了
情况
- 并没有开启
站点转移
- 同时建两个网站,把老站的内容转移到新站
- 我累了...
- 新站在根目录,我选择了 Pdo 驱动 Mysql 适配器的数据库,结果提示能检测已有的数据,我好开心,选了原有的数据,结果白屏
- 删除,重新安装选择
删除数据
- 新网站可以访问,但是后台进不去,和老网站一模一样,看来就是 CDN 的问题了
换 CDN
- 重新使用了阿里云的 CDN
- 安装了网站,并成功安装
- 但是考虑数据库并不想在用 SQLITE,转而用 MYSQL,于是找了几个转换工具,结果都没能成功转化数据库,心急之下,把之前的备份数据全部删除掉了。
- 只能重新安装新的网站了。
情况
- 新的网站安装还是出了一些问题,不过都能通过网上的方案解决,比如后台不能登录等。终于成功安装了网站。
- 漫漫长的设置之路,继而是漫漫长的内容恢复之路。
总结
经过这次的折腾,终于把博客折腾出了 https 的小绿锁,不知道安全性如何,但是浏览起来没有了不安全的提示实在是安慰了许多。
其实现阶段而言,这一类的东西终究还是有些浮躁了。查问题的过程中,还是能看到很多的网站并没有升级 https,可见很多人可能也不熟这一块,并不想因此出什么问题,于是通过内容增强自己的 Blog。
尽管遇到了很多的问题,但是终究结果出来了,也算是心里有了很大的安慰。
打赏: 微信
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。