使用 CloudFront Functions 在边缘进行自定义 - Amazon CloudFront
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

使用 CloudFront Functions 在边缘进行自定义

借助 Amazon CloudFront 中的 CloudFront Functions,您可以在 JavaScript 中编写轻量级函数,以实现大规模、延迟敏感的 CDN 自定义。您的函数可以操作通过 CloudFront 的请求和响应、执行基本身份验证和授权、在边缘生成 HTTP 响应等。CloudFront Functions 运行时环境提供亚毫秒的启动时间,可立即扩展,从而每秒处理数百万个请求,并且非常安全。CloudFront Functions 是 CloudFront 的原生功能,这意味着您可以完全在 CloudFront 中构建、测试和部署代码。

CloudFront Functions 极其适合轻量级短期运行的函数,以用于以下使用案例等:

  • 缓存键归一化 – 您可以转变 HTTP 请求属性(标头、查询字符串、cookies,甚至是 URL 路径)以创建最佳缓存键,它可以提高您的缓存命中率。

  • 标头操作 – 您可以在请求或响应中插入、修改或删除 HTTP 标头。例如,您可以为每个请求添加 True-Client-IP 标头。

  • URL 重定向或重写 – 您可以根据请求中的信息将查看器重定向到其他页面,或者将所有请求从一个路径重写到另一个路径。

  • 请求授权 – 您可以通过检查授权标头或其他请求元数据来验证哈希授权令牌,例如 JSON Web 令牌 (JWT)。

在将 CloudFront 函数与 CloudFront 分配相关联时,CloudFront 在 CloudFront 边缘站点中截获请求和响应并将它们传递到您的函数。当发生以下事件时,您可以调用 CloudFront 函数:

  • 在 CloudFront 收到查看器的请求时 (查看器请求)

  • 在 CloudFront 将响应返回到查看器之前 (查看器响应)

有关创建 CloudFront 函数的分步指南,请参阅 教程:使用 CloudFront Functions 创建简单函数

要开始编写函数代码并阅读可与 CloudFront Functions 一起使用的示例代码,请参阅 编写函数代码(编程模型)示例代码