服务器IP被ban学到的经验
最近服务器被ban了,然后连续几天晚上都在处理各种数据迁移。真把我累惨了,今天终于处理的差不多了,总结一下经验和教训:
- 学会网络安全太重要了,要学会在网络上隐身。不过由于我在网络上留下了很多痕迹,想要隐身已经不太可能了,但是可以从现在开始 不泄漏更多隐私
- 学会网络编程太重要了,必要时可以实现一些网络工具。我又不做坏事,但是也要学习先进技术呀!国内的搜索引擎都做成什么样了, 这是客观事实,不是崇洋媚外
- 尽量不要自托管,使用SaaS,因此我把除博客主站之外的服务全关掉了,使用GitHub等第三方服务。代价是,数据在别人手上,但是 节省了太多的时间和精力。下次要是再被ban,我就直接带着博客换个机器就好了,不要处理备份什么的了
- 不要开太多子站,迁移起来太痛苦,一个一个搞,实在是操碎了我的心
- 尽量避免使用数据库,纯文本容易迁移。例如博客,没有使用数据库,所以是我所有子站里迁移最容易的一个,直接修改一下目标地址, 跑一下部署脚本即可
- 如果一定要使用数据库,不应该使用大型数据库例如PG,而应该使用SQLite,主要原因还是方便同步和方便备份
- 如果预算比较充足,应该把博客和网络工具分开部署,这样可以最小化损失
- 应该使用CDN,IP被ban之后,借助CDN,博客主站仍然可以访问,而服务商不敢随便ban CDN。此处推荐Cloudflare,棒棒哒!
- 有镜像备份,即使主站挂了,仍然能够在它处可以访问,例如 https://jiajunhuang.com 的镜像便是 https://github.com/jiajunhuang/blog
- 不要使用国内的云,即使机房在国外
当然了,因祸得福,Cloudflare现在把我博客的路由拨到香港了,因此博客访问速度快了好多,哈哈哈哈😄
参考资料:
更多文章
本站热门
- socks5 协议详解
- zerotier简明教程
- 搞定面试中的系统设计题
- frp 源码阅读与分析(一):流程和概念
- 用peewee代替SQLAlchemy
- Golang(Go语言)中实现典型的fork调用
- DNSCrypt简明教程
- 一个Gunicorn worker数量引发的血案
- Golang validator使用教程
- Docker组件介绍(一):runc和containerd
- Docker组件介绍(二):shim, docker-init和docker-proxy
- 使用Go语言实现一个异步任务框架
- 协程(coroutine)简介 - 什么是协程?
- SQLAlchemy简明教程
- Go Module 简明教程