服务器IP被ban学到的经验

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

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

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


参考资料:


更多文章
  • Redis源码阅读:执行命令
  • Redis源码阅读:启动过程
  • WAL(Write-ahead logging)的套路
  • 搞定CORS问题
  • 如何定位程序问题所在
  • 设计一个IM归档系统
  • logrotate read only filesystem问题
  • Golang GIN写单测时,愉快的使用返回值
  • Python Queue源码分析
  • Go里优雅的使用全局配置
  • Golang sync.Map源码分析
  • Android滑动时隐藏FAB
  • Python中用tuple作为key
  • 一些常用的算法思维
  • 编写可维护的函数