aws-lambda - 如何为独立的 lambda@edge 函数创建没有来源的 CloudFront 分配?

标签 aws-lambda amazon-cloudfront

我在 AWS Lambda 上有一个小的 Node.js 函数,它返回一个非常简单的动态响应,例如:

exports.handler = async (event, context) => {
    const response = {
        statusCode: 200,
        body: "Hello World " + Math.random(),
    };
    return response;
};

我想通过 lambda@edge 在公共(public)网络上部署它。为此,我需要将它连接到 CloudFront 分配。但是,CloudFront 要求我选择源。此功能不需要来源。

是否可以在没有 CloudFront 源的情况下部署它,或者我是否需要创建一个虚拟页面,例如 S3 上的静态文件?

最佳答案

不要创建虚拟页面。您可以设置任意域名作为分发源。

如果您使用函数作为查看器请求处理程序,您可以设置任何域名,例如 dev.null

如果您使用函数作为源请求处理程序,则域名必须是现有的有效名称,例如 example.com。正如 AWS 支持所说,CloudFront 对原始域执行 DNS 有效性检查,但不会向域发送请求(如果函数返回响应)。

关于aws-lambda - 如何为独立的 lambda@edge 函数创建没有来源的 CloudFront 分配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67309458/

相关文章:

amazon-web-services - 无法让 AWS Lambda 函数将日志(文本输出)记录到 CloudWatch

python - 在 AWS 上 Elasticsearch {"Message":"User: anonymous is not authorized to perform: es:ESHttpGet"}

next.js - nextjs ISR 与 cloudfront

amazon-web-services - 访问其他帐户上传的文件时出现 Cloudfront 403 错误

aws-lambda - 能够使用 WAF 将 AWS Lambda 函数列入白名单或在 VPC 中运行 Lambda

amazon-web-services - 当 CF 堆栈更新失败时准确确定缺少哪个 IAM 权限

amazon-web-services - 为什么 AWS Lambda CFN S3 响应在删除事件时返回 403?

amazon-web-services - 具有批处理限制的 AWS Step Functions

python - Lambda 未加载加密共享库

caching - 当 S3 原始视频/mp4 资源替换为更大的文件时,来自 cloudfront 的 416