12月3日早上一觉醒来,发现竟然打不开自己的博客了。

一. 故障溯源

尝试着ping自己的域名,发现返回的结果是一个莫名其妙的地址。
然后ping了下IP地址,发现是通的。
由此可以大概判断,自己是受到了DNS污染。
dns1.png

二. 解决方案

我自认为热爱祖国、热爱科学、思想端正、积极向上,实在是想不明白,自己的小站为什么会被GFW注意到。
想不明白就干脆不想了,索性专心考虑解决方案。
good.png

与GFW直接对抗的难度和成本都太高了。常见的对策是注册多个域名,如南+论坛先后注册了south-plus, north-plus, level-plus, snow-plus, spring-plus等域名来绕开GFW,维持在大陆的可直连性。

三. 解决过程

我购买了nicebowl.fun这个新域名,解析到服务器的IP地址上面,在Typecho后台更新了站点地址,并在Nginx的配置文件里添加了新域名。
大约一个小时后,已经可以通过新域名访问博客了。但由于网站上的一些内链尚未更改,所以页面出现了显示异常。
mobile.png
(在手机上甚至可以加载出本不应出现的侧边看板娘)

在互联网上查阅知,可以在数据库内便捷地完成相关更新。于是参考相关经验,在备份旧数据库之后,对users表、options、comments表和contens表进行了替换操作。
此时已经可以正常加载页面了。

最后,借助acme.sh为新域名申请了证书。由于仍然想保持nicebowl.moe这个旧域名的可用性,所以干脆在Nginx里写了两个server段,分别指定相应的证书。

至此,我完成了博客域名的迁移。

四.后记

1.以上都是我基于内容提供方的角度而进行的考虑。实际上,对于内容浏览者而言,只需要改改hosts文件就可以轻松解决DNS污染了。

2.上面提到了“想保持nicebowl.moe这个旧域名的可用性”,其实我一直在纠结要不要做一个301重定向,把访问moe域名的请求都转移到fun上面去。但转念一想,这网站的主要受众是大陆用户,在moe域名已经被污染的情况下,跳不跳其实都无所谓了;至于科学上网的用户以及境外用户,它们无论如何都能顺利进站,跳不跳好像也无所谓了。(后记的后记:最后还是做了301重定向)

3.v2ray+ws+tls的科学服务在受到DNS污染之后同样会挂掉,但只需要加一行hosts解析就可以恢复使用;如果懒得折腾hosts,那么在成功迁移至新域名之后,保持原配置不变,只修改客户端中的地址项和伪装域名项,即可恢复使用。

五.参考资料

  1. TYPECHO 搬家更换域名
    (http://feeng.com/blog/732.html)
  2. Typecho 网站域名更换方法
    (https://www.imtqy.com/typecho-domain-change.html)
  3. acme.sh
    (https://github.com/acmesh-official/acme.sh)

已有 3 条评论

  1. 萌新

    感谢启发,最近acg18也被墙了,按照大佬的博客测试发现还是DNS污染,改下hosts就好了,动作这么大估计是年底冲业绩

  2. 一开始还没找到,原来搬家了啊

    我也ʕ ᵔᴥᵔ ʔ

  3. Alfred511

    感觉是不是因为这上面的科学教程被转发进国内了?
    或者是r18相关东西被类似南+那样冲业绩?

添加新评论