曾经,我的博客是放在国外的,用过bluehost,用过hostmonster,这两家几乎是一样的。
由于放在国外访问起来不太方便,自己访问都慢,后来忍无可忍,才迁到了国内,当时正在研究docker,为了再次迁移方便,就直接装到了docker里面,这样,迁移的时候只需要迁移容器,省得重新安装了。
但凡“变化”总是会出现一些问题的:
首先,wordpress的升级是非常方便的,点几下鼠标就能轻松搞定,虽说提示升级前要备份,我从来没备份过,总是瞬间就完成了升级; 但是,迁移之后,这种方便的升级没有了,一直很忙,没工夫折腾。终于到现在,忍无可忍,研究了一下,发现wordpress的升级(包括插件的安装和卸载)靠的是博客所在主机提供的ftp服务(我不喜欢这种做法),曾经在bluehost和hostmonster的时候,ftp总是开着的;然而,使用docker之后,我没有开启ftp服务;升级就无法进行。于是,在docker中安装了vsftpd(升级的时候使用,升级完了就关掉),依然不行,猜测是ftp用户的权限的问题,添加权限后,升级便恢复到了曾经的方便。
其二,当今时代,各大网站都在使用https,刚好有些证书提供商可以免费提供https证书,而且自己对http2.0也颇感兴趣,于是,给自己博客添加了https证书,同时开启了http2.0;一切都还算顺利,只是开启https后,网页中一些静态资源(文章中的图片)是写死了http,于是浏览器中就不会出现绿色的锁,这个好办,直接在数据库中批量替换即可(话说替换的时候,由于连接数据库的编码没有指定,导致把数据写坏了,还好我有备份);
其三, 后来无意间发现,自己博客编辑器中本来是可以直接paste那些qq截图的,现在直接ctrl-v不好使了; 这是我非常喜欢的功能,没有这个就太不方便了,该功能是通过插件image paste实现的,重新安装该插件,依然不好使;只好祭出开发调试手段了,首先打开浏览器的“开发者工具”,看看有没有加载失败的资源或者报错的js语句;果然,image paste插件的js文件加载失败,问题比较明显,该文件试图通过http加载,但是chrome是可以容忍https的页面中使用http的图片资源,也禁止使用http的js资源,所以就直接block了;
为什么那么多资源都能很好地通过https加载,偏偏这一个资源非要走http呢?其实不是该插件的过,wordpress管理后台要求配置“站点地址”,这里面是最初配置的http地址,改为https就好了