- 单一边缘节点 — 一台运行 NGINX 作为缓存反向代理的 Ubuntu 24.04 VM,是最小可行的 CDN 边缘节点
- Terraform 部署 — 完整的 Azure 基础设施即代码:VNet、PIP、NSG 以及通过 cloud-init 进行预配置的 VM
- 67+ CDN 厂商请求头 — 模拟 Akamai、Cloudflare、CloudFront、Fastly 和 Azure Front Door 的请求头,包括 True-Client-IP、CF-Connecting-IP、地理位置信息、设备检测、JA3/JA4 指纹以及机器人评分
- 源站集成 — 将边缘节点配置为把缓存未命中的请求转发至 F5 XC HTTP 负载均衡器作为源站
- 缓存验证 — 通过 X-Cache-Status 响应头和 NGINX 缓存检查来验证 HIT/MISS 行为
部署完成后,CDN 边缘节点将暴露以下端点:
| 端点 | 方法 | 用途 |
|---|---|---|
http://<PUBLIC_IP>/health | GET | 健康检查 — 返回包含组件状态和厂商配置文件的 JSON |
http://<PUBLIC_IP>/ | GET | CDN 代理 — 对请求进行缓存并转发至源站服务器 |
http://<PUBLIC_IP>/<any-path> | GET | CDN 代理 — 所有路径均通过代理进行缓存并添加厂商请求头 |
每个代理响应中添加的响应头:
| 响应头 | 示例 | 用途 |
|---|---|---|
X-Cache-Status | HIT 或 MISS | 标识响应是否来自缓存 |
X-CDN-Edge | cdn-simulator | 标识当前边缘节点 |
X-CDN-POP | SJC | 模拟的接入点代码 |
X-Served-By | cache-sjc3120-SJC | 模拟的缓存节点标识符 |
X-Request-ID | UUID | 每个请求的唯一标识符 |
| 页面 | 适用对象 | 用途 |
|---|---|---|
| 概述 | 人工 + AI | 架构说明、多厂商背景、模拟内容介绍 |
| 前置条件 | AI | 所需工具、Azure 订阅、SSH 密钥、费用估算 |
| 部署 | AI | 完整的 Terraform HCL — 复制并应用以完成部署 |
| NGINX 配置 | 人工 + AI | 全部 67+ 个 CDN 厂商请求头及其精确值与用途说明 |
| 验证 | AI | 冒烟测试命令及预期的请求/响应行为 |
| 与 F5 XC 集成 | 人工 + AI | 将边缘节点连接至 F5 XC 作为源站,进行端到端验证 |
| 销毁环境 | AI | 销毁所有资源及清理命令 |