不知诸君有没有发觉,或者说在各位还未发觉的时候,本站已经挂了五天了。
其实个中缘由非常复杂,几乎是从我作了第一次死开始 VPS 后台的问题就接连发生。
首先是想自己折腾一下为网站提供 Chrome 下试图推广的 Certificate Transparency 信息,这个一般是 EV 级证书的网站的标配,很少有有普通的网站添加这个信息。如果跟着 Certificate Transparency 组织官方提供的指南的话,主要工作是提交证书链以获取相关的证书透明度证明文件。只是这些文件要被正确使用,需要相应的扩展模块,对于 Nginx 现在推荐的是 nginx-ct 。不过问题就是,如果使用了相关的可视化管理面板(例如我用的是 Vesta)并且面板自安装了 Nginx 的话,可能就会摸不清应该在哪里导入模块的变量……
结果我就傻逼兮兮地重新覆盖安装了 Nginx。
想当然地,面板写入 Nginx 的相关配置就被覆盖了,没有提前备份所以最后落了个网站全部访问不能只能重安面板的结局……
自这次折腾以后,后台的 SS 莫名地就只能听 IPV6 而不能监听 IPV4了,SS-Py 下端口状态里连对 IPV4 的监听都没有,切换到 SS-Libev 后虽然端口能够监听 IPV4 了但是实际使用中还是不能连通。特别诡异的是自始至终手机端都是能连通到服务端的。通过 tcpdump 抓包发现只有手机端向 VPS 发送报文但 VPS 从未向手机端回发报文。
这边还没解决,紧接着接到一位好心人士发来的邮件,告诉我网站不能够留言评论了,原来这么久都没有新留言的原因是这个。为了检查这个错误,我尝试过重装 WordPress 核心,排查插件、主题是否有干扰,最后一怒之下爆破了 VPS 重装面板,又遭遇了面板无法安装只能求助于开发团队。
结果 Vesta 开发团队说我们帮你安吧,就真的花了好几天来帮我处理这件事情(虽然其中大部分时间浪费在我的失误上),最后也重新安装上了,折腾到今天凌晨2点。总觉得不买他们的收费项目支持一下都过意不去了……
面板重新安装好后导入原先的配置发现问题依旧,绝望之余只能重新排查。最后终于在最开始看过以为没问题的 .htaccess 文件中发现端倪……
其中一行是这样的
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
里面应该写成斜杠的地方写的是反!斜!杠!
把这个地方改好了以后我怀着忐忑的心情发了一条留言,还真的发出来了。
……
我都不知道这几天我浪费的时间意义何在……大概就是教训自己做事要细心,代码要耐心读吧。
OTL
Windows大法好
[…] 2015 年网站曾经挂过一次,当时恢复后撰写的文章的开头是这样的: […]