WorkBuddy 实战|我用它把个人博客从备案做到 HTTPS 上线

admin 发布于 21 小时前 12 次阅读


WORKBUDDY CASE · 2026-11-06
一次真实记录:从刚备案的域名,到能用 https 打开、有内容、有页脚备案号的个人博客,全程在对话里推进。
8个环节
0元证书
1次上线
A起点与硬前提国内节点绕不开的两件事
01
域名实名 + ICP 备案
liuyaguang.cn · 广州节点

服务器在国内,域名解析到国内 IP 前必须完成实名认证与 ICP 备案,否则会被阻断访问。这次备案号 粤ICP备2026174968号 于 2026-11-06 审核通过,之后才开始动解析。

02
环境摸底
先查后改

轻量云实例 2C4G / Ubuntu 24.04 / Docker CE,WordPress + MySQL 两个容器跑着,Sakurairo 主题,站点地址当时还是 http://服务器 IP。防火墙 80 已全开,443 只对某个 IP 段开放——这个细节后来成了 HTTPS 的最后一道门。

B六步打通访问链路按顺序做,缺一步都不通
01
DNS 解析
A 记录

在 DNSPod 加 @ 与 www 两条 A 记录指向实例公网 IP。用 dig 确认解析生效,再 curl 域名验证 HTTP 200。

02
WordPress 站点地址整体替换
wp-cli search-replace

不能只改后台「设置 → 常规」两栏——文章、图片、作者 URL 里还残留旧 IP。用 wp search-replace --all-tables 全库替换,先 dry-run 看范围(这次 18 处),再正式执行,最后确认旧 IP 零残留。

03
为 HTTPS 调整架构
nginx 反代

原架构是容器 Apache 直接占宿主机 80。改成:容器 80 映射到 127.0.0.1:8080,宿主机装 nginx 监听 80/443 并反代过去。改 compose 前先备份,重建容器时有约几十秒中断。

04
申请免费证书
Let’s Encrypt + certbot

certbot --nginx 一次签发主域名与 www,自动写好 443 ssl 与 80→301→443 跳转,systemd 定时自动续期。HTTPS 本身不收费,证书免费、流量走套餐内流量包。

05
补齐防火墙 443
ACL 而不是端口问题

443 是 HTTPS 的标准端口,不建议换成 8443 之类自定义端口(访客要手输端口、公共网络常拦非标端口)。真正的问题只是轻量云防火墙的来源限制,改成对所有来源开放即可。

06
从外部验证
别只信服务器本机

服务器本机 curl 通了不算上线。从外部测根域名与 www 的 HTTPS 状态码、证书链(CN、签发者、有效期)、HTTP 301 跳转,才算闭环。

C内容与体验:上线之后才开始的活比配置更琐碎
01
发布内容
两篇整理稿

检索真实资讯后,做了「AI 前沿速览 10 篇」与「GitHub 本周热门 Top 10」两篇原创整理稿:只给摘要和原文链接,不全文转载(版权风险)。发布后用简洁英文 slug 替换掉 WordPress 自动生成的一长串中文编码。

查看文档 →

02
备案号的「HTML 里有、页面上看不到」
footer_addition → footer_info

一开始写进主题的 footer_addition,结果被输出在 前的裸 div 里,脱离正式页脚容器,全屏背景层一盖就看不见。改用浏览器调试协议量元素可见性 + 滚动到底截图才定位到,把备案号挪进 footer_info 版权行后解决。

03
「文章」菜单点进去是空的
静态占位页

导航指向的是一个正文只有「敬请期待」的静态页面,没绑定列表模板。挂上主题自带的 Archive Template 后,年份卡片与文章列表才出现,新文章也会自动列出。

04
性能与排版
gzip / 缓存头 / 整页重排

启用 CSS/JS/JSON 压缩;用 nginx map $uri 给静态资源分级加缓存头(CSS/JS 30 天、图片 7 天,动态页面不加,避免误缓存);最后把文章页从「10 张重复白卡」重排成杂志周刊式的纸张 + 栏目 + 紧凑条目。

D三条可复用的经验比命令更值钱
01
先查后改,改前备份
可回退

compose、nginx 配置、主题模板、文章正文都留了 .bak。每一步「查询现状 → 备份 → 修改 → 语法检查 → reload → 验证」走完再进下一步,出问题能一键回滚。

02
服务端正确 ≠ 用户看得到
用真实浏览器验证

备案号、归档页、文章排版这三次问题,HTML 源码里都是「对的」,但用户看到的是另一种结果。用无头浏览器实际渲染、滚动、量 scrollWidth 与元素可见性,才拿到确凿结论。

03
远程执行要顺着平台的脾气来
少走弯路

远程命令通道对命令长度、特殊字符、并行写操作都有约束:长内容先在本地生成再压缩编码分片传输,写操作串行发,改 JS/HTML 用 perl 而非宽泛 sed。传完务必比对校验和,再写入。

提醒 · 这套流程里,WorkBuddy 实际做的事包括:查实例与防火墙状态、远程执行命令、装 nginx / certbot、改数据库、写文件、发文章、用浏览器验证截图。它不是给操作建议,而是把「查 → 改 → 验」整条链跑完。
写在最后 · 这次最深的体会不是「AI 会配服务器」,而是验证比执行更费事、也更不能省。域名解析、证书、反代、页脚、归档页、排版,每一环都要从用户视角再确认一遍;很多看起来「已完成」的步骤,其实只是服务器本机返回了 200。把这些验证动作固化进流程,才是把一次性操作变成可复用方法的关键。
本博客真实运维记录 · 2026-11-06 · 站点名与页脚版权保持主题默认,未作改动
此作者没有提供个人介绍。
最后更新于 2026-11-06