网站慢排查实录:证书、CDN 与诊断方法论的教训

一、今天做了什么 1. 域名解析:renjiaxing.ren 的 A 记录 → 154.8.147.160(10 分钟生效) 2. 免费证书:申请腾讯云 90 天免费 DV 证书(TrustAsia CA) 3. 配置 HTTPS:Nginx 加载证书,HTTP 自动跳转 HTTPS 4. 排查"网站加载慢":最终发现是模板引用的境外 CDN 资源被墙 5. 资源本地化:font-awesome、jquery 下载到本地 static/,删除 busuanzi、mermaid 二、排查全程回顾(走弯路的每一步) 现象 电脑浏览器打开网站要 15-30 秒才出页面。手机秒开。 弯路 1:怀疑 Let’s Encrypt 证书的 OCSP 被墙 当时的证书:Let's Encrypt Windows curl 报错:CRYPT_E_REVOCATION_OFFLINE(吊销服务器离线) 分析:LE 的 OCSP 服务器在国内被墙,Windows schannel 检查吊销失败 行动:换腾讯云 TrustAsia 证书 结果:curl 不报错了,但 TLS 握手还是 15 秒——问题没解决 弯路 2:怀疑 TrustAsia 证书链的吊销检查 测试了所有吊销检查端点: ✓ 叶子证书 OCSP —— 0.19 秒(快) ✓ 中间证书 OCSP —— 快 ✓ 中间证书 CRL —— 快 ✓ 交叉根证书 CRL —— 0.29 秒(快,762 字节合法 CRL) 分析:TrustAsia 的"根证书"实际是波兰 Certum 交叉签发的, 怀疑 Windows 把交叉根当中间证书查 CRL → 查 Certum 波兰服务器超时 行动:开启 OCSP Stapling(服务器把吊销状态钉在握手包里) 结果:stapling 生效了(OCSP Response Status: successful), curl 还是 15 秒——问题依旧 弯路 3:怀疑 Windows 客户端自身 测试: ✓ 所有吊销检查 URL 直连都快 ✓ 服务器本地握手 4 毫秒 ✓ curl --ssl-no-revoke 秒过(证明问题在吊销检查) ✓ 手机同一 WiFi 秒进(排除网络路径问题) 行动:禁用 Windows 自动根证书更新(CTL 更新) 结果:curl 变快了!但浏览器还是慢——问题还在 弯路 4:真正的答案——F12 网络面板 浏览器 F12 → Network 标签 → 刷新 → 看到两个请求卡 30 秒: https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css https://cdn.jsdelivr.net/npm/jquery@3.6.3/dist/jquery.min.js 真相:jsDelivr CDN 在国内被墙! 模板 extend_head.html 是从 sulv 博客样例复制来的, 里面带了三个境外 CDN 引用:jsDelivr(两个)+ busuanzi 统计。 浏览器加载页面时死等这些资源超时——这就是"网站慢"的真正原因。 三、为什么一开始找不到? 复盘诊断过程,犯了三个错误: ...

August 20, 2026 · 3 min · 536 words

Hugo 博客搭建与 PaperMod 配置全记录

为什么选 Hugo Hugo 是一个用 Go 写的静态网站生成器。它和 WordPress 这类动态博客的区别是: Hugo WordPress 原理 Markdown → 预生成 HTML 文件 每次访问查数据库 + 渲染 PHP 服务器要求 纯静态文件,Nginx 直接 serve 需要 PHP + MySQL 内存占用 0(只有 Nginx 的几 MB) MySQL 400M+ 安全 没有后台、没有数据库,攻击面极窄 PHP + 插件 = 常见攻击入口 写作方式 VS Code 写 Markdown 浏览器里写 速度 秒开 看服务器性能 版本控制 Git 数据库导出,不优雅 对于一台 2C2G 的轻量服务器,Hugo 是唯一正确的选择。 技术栈 云服务器:腾讯云轻量应用服务器 2C2G 3Mbps(Ubuntu 22.04) 静态生成:Hugo 0.146.5 主题:PaperMod(Gitee 镜像) Web 服务器:Nginx 部署方式:Hugo 生成 HTML → Nginx 直接 serve HTTPS:等域名备案下来后 Let's Encrypt 免费证书 博客目录结构 ~/myblog/ ├── config.yml ← 博客配置(核心文件) ├── content/ ← 所有文章和页面 │ ├── posts/ │ │ ├── 技术/ │ │ ├── 杂文/ │ │ ├── 美食/ │ │ └── 健身/ │ ├── about.md ← 关于页面 │ ├── archives.md ← 时间轴页面 │ ├── search.md ← 搜索页面 │ └── tags/_index.md ← 标签页面 ├── layouts/ ← 自定义布局(覆盖主题默认) │ ├── _default/ │ │ ├── archives.html ← 时间轴模板(来自 sulv-hugo-papermod) │ │ └── search.html ← 搜索模板 │ └── partials/ │ └── index_profile.html ← 首页 profileMode 模板 ├── assets/js/ ← 自定义 JS │ ├── fastsearch.js │ └── fuse.basic.min.js ├── static/img/ ← 静态资源(头像、二维码等) ├── themes/PaperMod/ ← Hugo 主题(不改动) └── deploy.sh ← 构建+部署脚本 config.yml 关键配置 首页:profileMode PaperMod 内置两种首页模式。homeInfoParams 是纯文字,profileMode 是头像 + 按钮布局。选择后者: ...

July 29, 2026 · 3 min · 487 words