以下是 Fastly CDN 的详细使用教程,结合官方文档和实际配置经验整理,适用于个人开发者及企业用户:


一、注册与基础配置

  1. 注册账号

  2. 创建 CDN 服务

    • 登录后进入 Deliver 选项卡,点击 Create a CDN service
    • 填写服务名称(Service Name)、加速域名(Add your own domain)、源站 IP(Add an origin),点击 Activate 激活服务1
  3. 修改配置

    • Fastly 默认配置需克隆后才能修改:进入服务详情页,点击 Clone Version 生成新版本配置。
    • 源站设置:在 Origins 选项卡中,编辑源站 IP 旁的铅笔图标,设置以下参数:
      • Certificate hostnameSNI hostnameOverride host 均填写域名,并勾选 Match the SNI hostname1
    • 开启 HTTP/3:在 Settings 选项卡中启用 HTTP/3 以提升性能1

配置不正确,无法访问,带host 的,填源站域名或者ip ,如 xxx.domain.com


二、SSL 证书配置

  1. 自动签发证书

    • 进入 SecureTLS management,创建 SSL 证书订单,选择域名并选择签发机构(推荐 Fastly 自家证书)。
    • 完成 DNS 验证:将生成的 TXT 记录添加到域名 DNS 解析中,等待签发成功(通常需几分钟)16
  2. 解析 CNAME

    • 证书签发后,Fastly 会提供 CNAME 地址,将其添加到域名 DNS 解析中,完成 CDN 与域名的绑定1

三、节点优化与加速策略

  1. 自选节点 IP

    • 由于部分 Fastly 节点在国内可能被阻断,建议手动筛选优质 IP:
      • 使用 ipip.net 全球 Ping 工具 测试节点延迟,结合 ITDOG 的 TCPing 功能检查端口可用性。
      • 推荐节点(需根据实际网络环境调整):
        • 电信用户:北美节点(如 199.232.147.52
        • 联通用户:NTT 节点(如 146.75.115.52
        • 移动用户:尝试全球 Anycast 节点(如 151.101.43.5214
  2. 分线路解析

    • 在 DNS 服务商处设置分运营商解析(如 DNSPod),将不同运营商用户指向对应的 Fastly 节点 IP1

四、高级功能与安全配置

  1. 缓存策略

    • 静态资源(如图片、CSS/JS)设置长缓存时间(如 30 天),动态内容可配置软清除(Soft Purge),避免强制刷新导致服务中断68
  2. 安全防护

    • Web 应用防火墙(WAF):在 Fastly 控制台启用 WAF 规则,防御 SQL 注入、XSS 攻击。
    • DDoS 防护:设置流量清洗阈值,自动拦截异常流量78
  3. 集成 Magento2(电商场景)


五、常见问题与优化建议

  1. 节点不可用

    • 定期测试节点可用性,备用节点列表参考:GitHub 用户自选 IP 库
    • 若遇大规模故障(如 2021 年全球中断事件),可临时切换至备用 CDN 服务5
  2. 免费额度限制

    • 监控流量使用情况(Fastly 控制台提供实时统计),超出后自动按需计费1
  3. 与 Cloudflare 对比

    • 优势:支持 CNAME 接入(无需 SaaS)、亚太节点质量更优。
    • 劣势:国内节点稳定性低于 Cloudflare13

六、参考资料

通过以上步骤,可快速完成 Fastly CDN 的部署与优化,适用于个人博客、电商平台及全球化业务场景。

七、缓存

以下是创建 Fastly CDN 缓存设置的详细指南,结合官方文档与最佳实践整理:


一、基础缓存配置

  1. 强制 TLS 加密

    • 启用 强制 TLS,将所有 HTTP 请求自动重定向至 HTTPS,确保数据传输安全。此功能需先配置有效的 SSL/TLS 证书,并在 Fastly 服务中启用。
    • 操作路径:Fastly 控制台 → 服务配置 → 强制 TLS 选项 → 启用并上传证书1
  2. 超时设置优化

    • Fastly 默认管理员请求超时为 180秒,若需处理耗时操作(如批量导入),可延长至 600秒(上限)。
    • 操作路径:管理员后台 → 系统 → 全页缓存 → 高级配置 → 调整 管理员路径超时1
  3. 缓存分层策略

    • 边缘节点:分布全球的 POP 节点缓存静态资源(如图片、CSS/JS),减少用户延迟。
    • Origin Shield:作为第二层缓存,屏蔽源站压力,仅当边缘节点未命中时回源。建议选择靠近源站的 Shield 节点41

二、动态缓存策略

  1. TTL(生存时间)管理
    • 静态资源:设置长 TTL(如 30 天),通过 Cache-ControlSurrogate-Control 头实现。
    • 动态内容(如 API 响应):通过 VCL 代码按路径动态设置 TTL。例如,趋势类 API 可设为 10 分钟:
      if (req.url ~ "^/v1/gifs/trending") {
        set beresp.ttl = 600s;
      }
      
      41 以下是 Fastly CDN 的详细使用教程,结合官方文档和实际配置经验整理,适用于个人开发者及企业用户 缓存api https://www.fastly.com/documentation/reference/api/purging/

以下是 Fastly CDN 的详细使用教程,结合官方文档和实际配置经验整理,适用于个人开发者及企业用户以下是 Fastly CDN 的详细使用教程,结合官方文档和实际配置经验整理,适用于个人开发者及企业用户 2. 代理键(Surrogate Key)

  • 为每个动态资源生成唯一代理键(如 post-123),当内容更新时,通过键批量清除相关缓存。
  • Rails 应用示例:在控制器中设置 set_surrogate_key_header @post.record_key,模型定义 record_key 方法24

三、缓存清除机制

  1. 自动清除选项

    • 根据业务需求启用自动清除:
      • 产品更新:自动清除关联的产品和分类缓存(启用 清除产品 选项)。
      • CMS 变更:更新页面时自动清除页面缓存(启用 清除CMS页面)。
    • 操作路径:Fastly 配置 → 高级配置 → 启用对应清除选项1
  2. 软清除(Soft Purge)

    • 将缓存标记为过时而非立即删除,在后台异步更新内容,避免因强制刷新导致性能波动。适用于高并发场景1

四、高级功能与定制

  1. GeoIP 地理处理

    • 根据用户地理位置重定向或展示特定内容(如多语言站点)。
    • 操作路径:启用 GeoIP → 选择重定向或商店列表 → 配置国家代码映射1
  2. 自定义 VCL 代码

    • 通过 VCL 实现精细化控制:
      • 请求重写:修改旧端点路径至新端点。
      • A/B 测试:随机添加请求头区分实验流量。
      if (req.url ~ "^/old-path") {
        set req.url = regsub(req.url, "/old-path", "/new-path");
      }
      

      41

  3. 边缘模块(Edge Modules)

    • 启用预置模块(如 CORS 头、Sitemap 重写)或集成第三方后端(如 WordPress),通过 UI 快速配置,无需编写 VCL1

五、监控与故障处理

  1. 缓存命中率监控

    • 通过 Fastly 控制台实时查看缓存命中率,优化 TTL 和代理键策略4
  2. 超时错误处理

    • 若出现 503 错误,检查后端连接超时(第一字节超时)和 Shield 节点设置,适当延长超时阈值1

参考资料

通过以上设置,可高效管理 Fastly CDN 缓存,适用于电商、媒体平台及全球化业务场景。