服务器IP被ban学到的经验

最近服务器被ban了,然后连续几天晚上都在处理各种数据迁移。真把我累惨了,今天终于处理的差不多了,总结一下经验和教训:

  • 学会网络安全太重要了,要学会在网络上隐身。不过由于我在网络上留下了很多痕迹,想要隐身已经不太可能了,但是可以从现在开始 不泄漏更多隐私
  • 学会网络编程太重要了,必要时可以实现一些网络工具。我又不做坏事,但是也要学习先进技术呀!国内的搜索引擎都做成什么样了, 这是客观事实,不是崇洋媚外
  • 尽量不要自托管,使用SaaS,因此我把除博客主站之外的服务全关掉了,使用GitHub等第三方服务。代价是,数据在别人手上,但是 节省了太多的时间和精力。下次要是再被ban,我就直接带着博客换个机器就好了,不要处理备份什么的了
  • 不要开太多子站,迁移起来太痛苦,一个一个搞,实在是操碎了我的心
  • 尽量避免使用数据库,纯文本容易迁移。例如博客,没有使用数据库,所以是我所有子站里迁移最容易的一个,直接修改一下目标地址, 跑一下部署脚本即可
  • 如果一定要使用数据库,不应该使用大型数据库例如PG,而应该使用SQLite,主要原因还是方便同步和方便备份
  • 如果预算比较充足,应该把博客和网络工具分开部署,这样可以最小化损失
  • 应该使用CDN,IP被ban之后,借助CDN,博客主站仍然可以访问,而服务商不敢随便ban CDN。此处推荐Cloudflare,棒棒哒!
  • 有镜像备份,即使主站挂了,仍然能够在它处可以访问,例如 https://jiajunhuang.com 的镜像便是 https://github.com/jiajunhuang/blog
  • 不要使用国内的云,即使机房在国外

当然了,因祸得福,Cloudflare现在把我博客的路由拨到香港了,因此博客访问速度快了好多,哈哈哈哈😄


参考资料:

  • https://www.postgresql.org/docs/10/backup-dump.html
  • https://www.sqlite.org/index.html

更多文章
  • Cython! Python和C两个世界的交叉点
  • socketserver 源码阅读与分析
  • functools 源码阅读与分析
  • contextlib代码阅读
  • Collections 源码阅读与分析
  • Redis通信协议阅读
  • 2016年就要结束了,2017年就要开始啦!
  • unittest 源代码阅读
  • APUEv3 - 重读笔记
  • Mock源码阅读与分析