☁️ 建站与云.
8 篇 · 全部文章 →
- 上线 runbook:部署到 Cloudflare Pages 并绑定 papalabs.dev 内容整理好之后的上线步骤:Pages 项目、构建配置、自定义域名。照着做十分钟完事。
- 这个 blog 是怎么搭的:Astro + Markdown 架构笔记 Papa Labs 本站的技术架构、目录结构和日常写作流程,也是给未来自己的维护手册。
- Cloudflare D1 的 PRAGMA foreign_keys 陷阱:一次 DROP TABLE 差点清空整个子表 D1 会忽略跨 statement 的 PRAGMA foreign_keys=OFF,migration 里 DROP TABLE 时 ON DELETE CASCADE 会直接把子表数据一起带走。
- 把域名 DNS 从注册商搬到 Cloudflare:顺手把全站 HTTP 变 HTTPS 集团一个海外域名还托管在本地注册商的自管 DNS 上,网站还在裸跑 HTTP。迁到 Cloudflare 一次解决两个问题,全程不到一小时。
- 接手一个 Plesk + FTP 的静态网站:给非开发者的完整心智模型 集团一个静态官网要交给非开发背景的同事维护。与其丢一堆术语,不如画一张"从 VS Code 到访客浏览器"的完整地图——这篇就是那张地图。
- 给老 Drupal 站补 Host Header 防护,却先跟 cPanel 的文件锁打了两回合 一个还跑在 Drupal 9 上的老官网,状态报告里常年亮着"Trusted Host Settings 未配置"的安全警告——这意味着它对 HTTP Host Header 欺骗攻击是不设防的。补上 trusted_host_patterns 本身只是往 settings.php 里粘一段配置,真正费劲的是:Drupal 把这个文件和它所在的目录锁了两层,cPanel 的编辑器连临时锁文件都写不进去。
- 清理旧域名时"断错了一根线":托管面板里的显示名,和它实际承载的网站不是一回事 一轮例行的旧域名清理,把一个"显示名看起来是废弃域名"的托管套餐停掉了——结果公司官网应声下线,因为那个套餐名下装的其实是现役网站的全部文件。官网彻底没有源站的情况下,靠 Cloudflare 的 Redirect Rules 和一个假 IP,几分钟内把流量临时接到了海外分部的网站上。
- SSH 突然连不上 VPS:先查控制台,别急着重装系统 PuTTY 连不上 22 端口,第一反应可能是服务器挂了。其实 Web 控制台大多还能登,很多主流 VPS 面板都有一键重置 SSH 配置的自助功能。