封面来源:我是水熊吗 #bilibli https://t.bilibili.com/636628433841946631
壹
9 月 18 日深夜 23 时半,在下还在摆弄着眼前的电脑。
这已是一个不寻常的夜晚,违背了在下放假时的「中风前兆式」作息。两个小时前,在下收到了匿名网友的反馈,称没有收到敝站的回复邮件通知。敝站的邮件通知是通过在下微软 E5 账号的 SMTP 邮件服务器发送的,微软的反垃圾邮件策略十分古怪——在下做过测试,即便发件服务是他自己家的 smtp.office365.com,在同样是他自己家的 Outlook 邮箱却依旧有相当大的概率进垃圾箱。而同样一封发信,在 Gmail,甚至是 QQ 邮箱都可以被正常接收。在下早已对微软存在对 E5 域名邮箱的隐性歧视政策暗自不爽,便以为这又是一个 Outlook 邮箱的收信问题,正欲回复阐明事因,不想竟发现这位匿名网友的邮箱是 QQ 邮箱。
在下觉得奇怪,转到了 WP Mail SMTP 插件的测试界面,立即展开了对 QQ 邮箱的收信测试,结果发出的按钮转了又转,丝毫没有停止的意思,经过漫长的等待,测试页面直接跳了 502 Bad Gateway,白茫茫的报错页面瞬间在漆黑的夜晚给在下的眼球造成了成吨的伤害。在下虽然对 Dark Reader 的工作成果感到非常不满,但此时「中风前兆」式生物钟发作,浓烈的困意驱使在下放下了对 Dark Reader 的调教,在床上迅速昏睡。
9 月 19 日晨,敝站的表面宁静掩盖着邮件服务失效的汹涌波涛。在下发现邮件提醒的问题已经波及到评论系统,每一条新评论的提交都迟迟不能成功,但刷新之后却又能成功显示——这显然是卡在了 WordPress 的 sendmail 进程上,预示着博客的邮件服务已经彻底无法运作。
在经过了对 WP Mail SMTP 插件的各种调教,得到了全部一样的失败结果后,在下基本认为目前的情况是邮件根本无法从服务器传出。难道是邮件发太多,587 端口被服务商封禁了?就凭敝站这种一天都不一定能发得出一封邮件的屑博客?不不不,怎么想都不太可能。
随着 telnet smtp.office365.com 587
的命令在 ssh 终端传出,回馈的信息马上就来了:
Trying 2603:1046:c01:8b6::2...
「果然是不可能因为这种理由被封的」,在下一瞬释然。可是一秒过去了,两秒过去了,终端像是睡着了一样再也没有新的信息传来。在下不死心,又尝试了一遍,结果还是一样,像是终端的黑色背景把原本该有的返回信息给无声无息地吞了。
「如果是其他的邮箱呢?」——在下键入 telnet smtp.qq.com 587
。
220 newxmesmtplogicsvrsza7.qq.com XMail Esmtp QQ Mail Server
的消息闪电般传来。在下注意到,区别于微软的 IPv6 地址,这回连接到的是一个 IPv4 地址,难道问题出在 IPv6?
于是在下键入 vim /etc/gai.conf
,取消了 #precedence ::ffff:0:0/96 100
的注释,让服务器优先使用 IPv4 的地址进行通信,并再次 telnet 了 smtp.office365.com。不出所料,这次的连接成功了,回到敝站,无论是邮件发送测试还是评论系统都已经恢复了正常。
「可这是什么道理呢?」IPv6 不能用,让在下有点不爽。curl ip.sb
的命令键出,返回的却只有一个 IPv4 地址,但是执行 ifconfig
时,又能正常返回 IPv6 地址,这让在下不得不怀疑问题出在狗云。在下尝试更换了服务器的 IPv6 地址,但问题还是存在,无奈之下,在狗云发了工单。
工单回复不算很慢,一上来就提示在下重新试试看,结果令在下排查了一上午的问题,就这样戏剧性地解决了。
在下有些自嘲地想,也许选择自己折腾这事是荒诞的。
贰
刚刚折腾完 IPv6 的问题,收到狗云给在下发的邮件,说服务器将在一天后到期,提醒在下赶紧续费。在下赶紧跑到充值界面准备下单,结果收到了「未实名用户不得一次性充值超过 10 元」的提示。
但很巧,最小的充值面额就是 10 元。这意味着,不提供实名信息购买狗云的服务器,变成了不可能事件。
在下有点生气,不想再续了,不是觉得自己那几分钱就能买到个人信息金贵,而是觉得即便只值几分钱,也应当值那几分钱的尊严。
在下给一个非常喜欢折腾服务器,近乎都能自己开机场的兄弟发了 TG,问他有没有推荐的香港服务器。他说,在下可以拿一台他的服务器去建站。但是他的服务器上都跑了 Trojan,端口在 443,他希望在下的站点成为一个伪装站,也运行在 443 上,但配置上可能有些麻烦。
虽然明知自己的三脚猫功夫可能不足以完成这项任务,但看在能白嫖服务器的份上,在下还是决定试一试。
然而现实果然还是很残酷,事实证明,这项工作可谓浆糊一摊。各种奇怪的 Nginx 问题层出不穷,测试的站点根本没法访问,在这一团混乱之中,托管静态资源的 api.champhoon.xyz 还掉了一个下午的解析。
在下决定把这份苦差事扔给兄弟,结果他一番操作,非但没能解决问题,反而魔幻般地把他上古时期早已删除的站点「起死回生」了。
在下笑了足足五分钟。
叁
在下惊诧于寻找一个无需实名、绑定手机的,靠谱的,且拥有直连大陆不错延迟的香港服务器的商家之少,兄弟推荐的商家,被在下筛掉大半。
狗云的机器将于 20 日下午到期,在下必须在这之前找到新的服务商,否则敝站将不可避免地面临停摆的命运。20 日早间,在下受够了漫无止尽的寻找,咬牙买了 DMIT 的 HKG.Lite,12.9 刀,远远超出此前预期的费用,但是延迟非常不错。
又要开始重头开始配置网站运行环境,Nginx、PHP、MySQL 一样都不能少,而这三大件,一件比一件安装的耗时长。在下挂着网课,从刑事诉讼法上到国际经济法,回头一看,MySQL 还没装完。不禁又觉得有些荒诞,为什么当时选择了 WordPress?开一个静态博客,托管到 Cloudflare Workers 或者 Vercel 之类的地方,不香嘛?
得知在下买了 DMIT,兄弟又说,不如买 RFCHOST,还有循环优惠码,DMIT 是最近临时上的 CMI,线路不稳,到时候切路由之后,这个价格就显贵了。
于是在下去 hostloc 逛了一圈,的确,DMIT 在性价比方面的风评确实不太好,于是心生悔意。但在下刚迁完站,不想再大费周章一次了,于是就搪塞说:「买都买了,暂时就先用着看吧。」
肆
两天之后,兄弟力荐在下买 KuaiCheDao,还给了中秋活动的 aff,香港 CMI 循环续费降到 8.69 刀,在下看了他们的 TG 频道,刚刚优化了路由,延迟很不错。
在下心动了,慌慌张张地跑去看了 DMIT 的 ToS,发现使用时长依然符合退款的条件,还剩下将近一天的时间供在下迁站。于是 22 日中午,在下正式入手 KuaiCheDao HK CMI,并开始第三次迁站工作。
但是不久之后,在下便发现了问题——这台服务器似乎反应迟缓,表现出来延迟很高的状态,可是 ping 起来延迟又非常低。当在下怀着疑虑熬完了网站环境的安装,正式将网站备份上传时,问题才真正显现——在下等了半天也完不成文件的上传。于是在下就在服务器上跑了 iperf,结果测出来的直连上传速度令在下咂舌,大约 80Kbps!
在下当即和兄弟吐槽:这种情况怎么能拿来建站?
兄弟也深感震惊,由于他拿 KuaiCheDao 当落地机用,从没发现过这个问题。他当即向 KuaiCheDao 方面甩了工单,不得不说的是, KuaiCheDao 的工单回复速度是非常快的,当即表示了属路由问题且正在调整。在下说这不行,等他调好路由估计 DMIT 的退款窗口都过了,遂开了工单决定退款。
不想,在提供了退款用的支付宝账号后仅仅 5 分钟,又生一变,兄弟那边反馈,快车道的上传正常了。在下赶紧测试,发现上传确实已经正常,满足了做站需求,于是又光速在工单回复取消退款 + 上传网站备份 + 在 DMIT 提起退款申请三连,正式将网站迁移到 KuaiCheDao。
在下截了紧急回复取消退款的图发给兄弟,自嘲道:「像个小丑」。
然而现实并不打算那么轻易地放过在下,当在下按照惯例打开网站,检验迁移是否出现问题时,却发现网站的访问延迟非常高,就像在访问以前部署在美西的服务器一样——但这可是香港 CMI!在下吓得赶紧 ping 了 ping 服务器,结果发现延时达到了惊人的 190+ms。
在下又跑去 17ce 测延迟,一只红公鸡赫然在目。
在下被整的头晕眼花,怀着复杂的心情开了工单询问情况,KuaiCheDao 的工单回复还是一如既往地快,他们说:
「一直都是这样的。昨晚做了延迟优化,所以今天上午你看到的是延迟优化后的效果。但是,延迟优化带来了一个副作用。大陆电信上传到香港直邮 80Kbps 。由于这个副作用非常痛苦。还不如高延迟,速度跑得上去来的好。所以我们把延迟优化取消了。」
此时已是下午 4 时半,在下急着去做饭,重新把站迁回 DMIT 也不太现实,于是无奈地跟兄弟说:「还是退款吧。」
之后便是花了十分钟无比荒诞地重开了退款工单的事。
从电脑桌前站起的一瞬,在下突然意识到了之前所有的那些荒诞感来源于何处,是西西弗斯。
伍
22 日晚间。
兄弟看不下去了,他说:「我还是给你开一台狗云的机子吧。」
在下深觉命运多舛、人生渺小,于是说:「好。」
想了想,又附带一句:「但今晚要搞定。」