重启 Ghost

之前的某一天,托管所有网站的 Linux Server 被爆破了,不过还好数据库和文件都没有被淦,之后重装系统的时候,就想着把 CentOS 换成 Debian。换掉之后,其他的服务都和之前跑的一样好,但就是这个 Ghost,遇到了各种莫名其妙的问题,什么给了权限还报错无权限,找不到文件,不识别挂载点 balabala 的。在 Gayhub 上问了开发团队,也不能给出有效的解决方案,百般无奈,在 Debian 上是跑不起 Ghost 了,只好试试在 Win 上。

神奇的是,Win 上能非常正常的运行并且没有任何毛病(但只能用 ghost-cli@{version<=1.4.2},因为更高版本的 ghost-cli 会调用一些 chmod 之类的命令)。那就很简单啦,只要在 Nginx 上转发到内网的 Win Server 就好了,在设置成监听 0.0.0.0:2368 的时候,ghost restart,奇迹发生了:

telnet 里并不能看到 LAN 2368 端口打开了,我确定防火墙是没问题的,那么问题在哪呢?

嗯。。不用 ghost-cli 来启动了,just node current/index.js,接下来,更加神奇的事情发生了:

INFO Ghost is running in development…
INFO Listening on: 127.0.0.1:2368
INFO Url configured as: http://0.0.0.0:2368/

??? 为什么还是监听了 localhost? 所以说,这个 config 是根本不生效的嘛,那 host 选项是做什么用的?这种事情只好黑一把 js 程序员了 >.>

解决起来就好办了,在 /core/server/config/index.js 里 nconf 的 constructor 中覆盖掉默认设置就好了。

顺便这两天 acme.sh 支持了 Let’s Encrypt 的野卡申请,一并申请并转移到了 Cloudflare 上。