用 acme.sh 自动申请与续期 Let's Encrypt 证书
证书 90 天一过期网站就告警。本文演示 webroot 模式验证、ECC 证书签发、acme.sh 的 cron 自动续期原理,以及证书更新后如何让 nginx / 其它服务平滑 reload。
阅读全文 »后端开发 · Linux 运维 · 网络协议 · 数据库 · 容器与自动化,偶尔写点折腾笔记。
证书 90 天一过期网站就告警。本文演示 webroot 模式验证、ECC 证书签发、acme.sh 的 cron 自动续期原理,以及证书更新后如何让 nginx / 其它服务平滑 reload。
阅读全文 »规则顺序决定一切。很多人放行了端口却依然不通,往往是因为规则加在了一条兜底 REJECT 之后。本文梳理 filter 表 INPUT 链的匹配顺序、-I 与 -A 的区别,以及 CentOS 下 service iptables save 的持久化方式。</p>
阅读全文 »编译型语言最容易踩的坑:把整个编译工具链、源码、包缓存都塞进运行镜像。用 multi-stage build,builder 阶段负责编译,final 阶段只 COPY 二进制,镜像体积能小一个数量级,攻击面也更小。
列表页接口偶发几秒,慢查询日志里一条 LIKE '%xx%' 全表扫描。本文记录用 EXPLAIN 看 type=ALL、rows 扫描行数,最后改写成可走索引的前缀/全文方案,并补了 (status, created_at) 联合索引。
VPS 暴露在公网,auth.log 里全是爆破尝试。这份清单覆盖:改默认端口、禁用 root 密码登录只留密钥、UseDNS no 加速握手、以及用 fail2ban 对反复失败的 IP 自动封禁。
HTTPS 建立加密通道前,客户端得先告诉服务器「我要访问哪个域名」,否则服务器不知道该出示哪张证书——这就是 SNI。它在 ClientHello 里明文传输,也是 443 按域名分流(ssl_preread)能成立的基础。