AWS Lambda@edge 是一个在 Amazon CloudFront 上运行的 Lambda 函数,它可以用于自定义 CDN 行为。要在 CloudFront 中使用 Lambda 函数修改回源 Host,您需要执行以下步骤: 1、创建一个 AWS Lambda 函数: 登录到 AWS 管理控制台,转到 Lambda 服务,然后创建一个新的 Lambda 函数。选择适当的运行时(例如 Node.js)并输入以下示例代码。此示例代码会将回源 Host 设置为您提供的自定义域名。 javascript Copy code exports.handler = async (event) => { const request = event.Records[0].cf.request; const customHost = 'your-custom-origin-domain.com'; request.headers['host'] = [ { key: 'Host', value: customHost } ]; return request; }; 替换 your-custom-origin-domain.com 为您的自定义回源域名。保存并部署您的 Lambda 函数。 2、将 Lambda 函数与 CloudFront 配置关联: 转到 Amazon CloudFront 控制台,找到您要关联 Lambda 函数的分配(distribution)。选择“Behaviors”选项卡,然后选择要修改的行为(例如 Default (*))。点击“Edit”。 向下滚动到 "Lambda Function Associations" 部分,选择 "Viewer Request" 事件类型。在 "Lambda Function ARN" 文本框中,输入在步骤 1 中创建的 Lambda 函数的 Amazon 资源名称(ARN)。 保存更改并等待 CloudFront 分配部署更新。 完成上述步骤后,每次 CloudFront 收到客户端请求时,它都会触发关联的 Lambda 函数,修改回源 Host 并将请求发送到您的自定义域名。 请注意,使用 [email protected] 会产生额外费用,具体取决于您的请求量和代码执行时间。在正式使用之前,请确保您了解相关的费用。