---

title: CloudFront Functions 与 Lambda@Edge 场景对比与实践

keywords:

  • CloudFront Functions
  • Lambda@Edge
  • Viewer Request
  • 缓存
  • 路由

description: 对比 CloudFront Functions 与 Lambda@Edge 的适用场景与能力边界,提供示例与缓存策略建议。

categories:

  • 文章资讯
  • 技术教程

---

CloudFront Functions 与 Lambda@Edge 场景对比与实践

CloudFront Functions(超轻量 JS,低延迟)

function handler(event) {
  var request = event.request
  // 简单重写与 header 处理
  if (request.uri === '/'){ request.uri = '/index.html' }
  request.headers['x-cf-func'] = { value: '1' }
  return request
}

Lambda@Edge(Node.js,功能更强)

exports.handler = async (event) => {
  const req = event.Records[0].cf.request
  // 可访问更丰富的 API,适合鉴权、签名等复杂逻辑
  req.headers['x-edge'] = [{ key: 'x-edge', value: '1' }]
  return req
}

场景建议

  • Functions:轻量路由、Header 处理、URL 重写;延迟更低、成本更小
  • Lambda@Edge:鉴权、签名与复杂计算;部署到 Viewer/Origin 事件

缓存与策略

  • 利用 Cache-Control 与变体键(如 Vary: Accept-Encoding)降低源站压力

总结

结合两者能力与成本模型选择合适层级进行逻辑处理与缓存优化。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部