部署不是步骤清单:我用八个分面检查新服务
把部署拆成可达、守护、防护、可观测、配置密钥、变更、数据和运维入口八个分面,并为每一面留下可以验证的证据。

笔记、随笔和技术写作。
把部署拆成可达、守护、防护、可观测、配置密钥、变更、数据和运维入口八个分面,并为每一面留下可以验证的证据。

对照约百份个人资料后,我决定先用可读的 Markdown Wiki 积累知识,在召回和规模真正成为问题时再增加 BM25、向量或混合检索。

半年 AI 辅助编程复盘:从 Dockerfile 和反向代理的两次教训出发,用任务边界、上下文、验证、理解债、纠偏和风险六个问题约束生成结果。

不照搬大型视频平台,而是按 CDN、计算副本、异步任务、数据和容错逐层对照,区分值得做的小实验、当前应补的基础能力和暂时不需要的复杂架构。

按当前部署还原 s1oopX 站点的真实链路:Cloudflare 边缘、Tunnel、回环 Nginx、静态发布目录,以及 OAuth 和部署 webhook 的动态分支。

过去一年反复忘记学过的东西后,我把流程改成复现、单变量实验、脱稿解释和延迟复做;写博客不再是学习完成后的展示,而是暴露理解缺口的检查。

Tunnel 让源站主动连接 Cloudflare,从而关闭公网 Web 入站;它缩小暴露面,却不会替代身份验证、凭据保护、独立管理通道和故障恢复。

Actions 使用只读权限完成类型检查、构建和自测;VPS 只接受成功 workflow_run 的签名 webhook,并按精确提交发布、健康检查和自动回滚。

从 HTTP-01、DNS-01、Certbot timer 和 dry-run 讲清自动续期,也说明迁移到 Cloudflare Tunnel 后,访客证书、Tunnel 通道和本机服务分别由谁保护。

从 proxy_pass 的 URI 替换、真实客户端地址、外层 HTTPS、容器网络到 nginx -t 与 reload,整理我实际踩过的反向代理边界。

用多阶段构建、Maven 缓存、非 root 运行、回环端口和不可变镜像串起 Spring Boot 部署,并补上健康检查、配置密钥、数据库迁移与回滚边界。

从端口盘点、安全启用、IPv6、Docker 绕过 UFW 到 systemd journal,说明防火墙与 fail2ban 各自能做什么、不能替代什么。
