信任危机 各大平台的账号密码越来越多,有些乱设的记不住,设成一样的又怕撞库。存在浏览器自带的密码夹里也不放心。 看上了大名鼎鼎的 Bitwarden,但官方镜像太重了,最终选择了基于 Rust 语言轻量级重写的 Vaultwarden。 ...
Moxuan’s Blog
一个学生的技术笔记,记录 Linux 运维、Web 开发和服务器踩坑的日常。连公网 IP 都不需要,用 Cloudflare Tunnels 安全发布内网服务
没有公网 IP 的悲哀 最近在自己电脑上开发了一个小面板,想发给朋友测试。但现在的家用宽带全是层层 NAT,根本拿不到公网 IP,就算拿到也封了 80 和 443 端口。 ...
告别断网掉线的恐惧,Tmux 与 Zsh 打造终极服务器终端环境
运维的痛 以前跑一个要编译半小时的内核模块或者爬虫脚本,必须小心翼翼地把 SSH 窗口开着。有次网线不小心碰了一下断网了,几十分钟的进度直接化为乌有。直到我用上了终端复用神器:Tmux。 ...
告别手动传文件,利用 Git Hooks 实现代码推送到服务器的全自动部署
告别 FTP 时代 以前修改博客的前端代码或者自己的小项目,总是在本地改完,用 FTP 软件拖到服务器,极其繁琐,且版本经常搞混。 稍微研究了一下 Git 底层的钩子逻辑(Git Hooks),花半小时搞定了一套极简的自动化部署流水线。 ...
研究了一下 Cloudflare 的缓存规则,静态资源直接起飞
把域名托管给 Cloudflare 之后,发现首页加载还是差那么点意思。打开浏览器 F12 看了一下 Network,很多图片每次还要回源站去请求。 我的网站是 Hugo 生成的静态博客,图片、CSS、JS 这些文件基本不会变,非常适合长期缓存。Cloudflare 默认只会缓存某些静态扩展名,但图片目录的缓存策略还不够激进。 ...
设备连不上外网?用 TCPdump 和 Wireshark 抓包排查
机房里有一台装了 Linux 的旧工控机,局域网内可以互相 Ping 通,但就是死活无法访问外网的 API 接口。路由器的防火墙查了没拦截,工控机网关也没配错。 面对这种灵异事件,单纯看配置已经没用了,只能深入协议栈去抓包看底层数据。 ...
服务器遭遇 CC 攻击,用 Fail2ban 自动封禁恶意 IP
早上起来发现博客打不开了,登进终端一看,Load Average 飙到了 15。top 命令一看,Nginx 进程占了 99% 的 CPU。 用 tail -n 100 /var/log/nginx/access.log 一看,某个段的海外 IP 正在以每秒几百次的频率狂刷我的查询接口,典型的 CC 攻击。虽然带宽没被打满,但后端查询接口扛不住这么高的并发,服务器直接卡死了。 ...
数据库备份策略:从 mysqldump 到自动化脚本
数据库备份这件事,说起来容易,真要做好还挺考验耐心的。我之前就吃过亏:有一次手滑删错表,结果发现最近的备份是一周前的,中间的数据全丢了。从那以后,我对数据库备份就特别上心。 ...