SuperAPI AI 工具集

cdn-setup

部署与运维

查看项目

更新于 10-27 02:32

技能介绍

用途

CDN Setup 用于配置内容分发网络,实现快速、可靠的全球资源分发,并配合适当的缓存、失效刷新与安全策略。

适用场景包括:

  • 在全球范围内以低延迟提供静态资源(JS、CSS、图片、字体)。
  • 将流量从源站卸载,降低计算成本。
  • 在边缘添加 TLS 终止与 DDoS 防护。
  • 实现基于地理的路由或内容限制。
  • 通过边缘缓存加速 API 响应。

主要能力

该技能覆盖三大 CDN 平台:AWS CloudFront、Cloudflare 和 Fastly。

AWS CloudFront

  • 通过 CLI 创建分发(含 S3 源与 OAC 源访问控制)。
  • 缓存失效:失效特定路径、全部路径,检查失效状态,列出近期失效。
  • CloudFront Functions:轻量级边缘逻辑,例如 URL 重写(为目录请求添加 index.html)。
  • 通过 Terraform 定义分发,包括默认缓存行为、SPA 回退、API 直通(不缓存)等。

Cloudflare CDN

  • 区域设置:通过 API 添加区域并获取区域 ID。
  • 缓存规则(替代 Page Rules):为静态资源配置缓存规则。
  • 清除缓存:全部清除、按 URL 清除、按前缀清除。

源站缓存头

  • 提供 nginx 缓存头配置示例,涵盖带指纹的静态资源、图片字体、HTML 与 API 响应。
  • 提供 Cache-Control 速查表,说明各指令含义。

缓存预热与监控

  • 缓存预热:部署后预热关键页面的 bash 脚本示例。
  • 监控缓存性能:通过响应头检查缓存状态,查询 CloudFront 缓存命中率。

故障排查

提供常见症状、原因与修复对照表,包括缓存状态为 DYNAMIC、命中率低、部署后内容陈旧、CORS 错误、502 错误、混合内容警告、失效成本高等。

使用方式

示例使用占位符并会创建计费资源。在配置、更改 DNS/缓存规则或清除缓存之前,请确认区域/分发/账户并准备回滚。仅缓存有意公开的响应;即使路径类似静态资源,也要绕过认证、租户特定和敏感路由。不要剥离携带授权或内容标识的查询参数。

前置条件:

  • 具有 DNS 管理权限的域名。
  • 源服务器或 S3/R2 存储桶,内含要提供的内容。
  • 已配置 AWS CLI(用于 CloudFront)。
  • 已配置区域的 Cloudflare 账户(用于 Cloudflare CDN)。
  • Terraform 1.5+(用于基础设施即代码示例)。

适用场景

  • 静态资源全球低延迟分发。
  • 源站流量卸载与成本降低。
  • 边缘 TLS 终止与 DDoS 防护。
  • 基于地理的路由或内容限制。
  • API 响应边缘缓存加速。

限制

  • 基础设施命令可能中断服务:在变更状态前确认目标主机/范围,并准备备份/快照。
  • 仅文档导入:上游脚本和模板未随附。
  • 示例使用占位符并会创建计费资源,需确认区域/分发/账户并准备回滚。
  • 仅缓存有意公开的响应,绕过认证、租户特定和敏感路由。
  • 不要剥离携带授权或内容标识的查询参数。

相关技能

  • dns-management:用于 CDN CNAME 设置的 DNS 记录。
  • cloudflare-pages:Cloudflare 为 Pages 项目内置的 CDN。
  • reverse-proxy:CDN 背后的源服务器配置。
  • load-balancing:多源 CDN 后端。