【问题标题】:How do I create a CloudFront distribution without an origin for a self-contained lambda@edge function?如何为自包含的 lambda@edge 函数创建没有源的 CloudFront 分配?
【发布时间】:2021-07-22 08:30:44
【问题描述】:

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

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

我想通过 lambda@edge 在公共网络上部署它。为此,我需要将它连接到 CloudFront 分配。但是,CloudFront 要求我选择一个源。此函数不需要原点。

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

【问题讨论】:

    标签: aws-lambda amazon-cloudfront


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2021-04-26
      • 2020-11-21
      • 2020-06-27
      • 1970-01-01
      • 2019-10-23
      • 2021-06-11
      • 2018-06-17
      • 2019-02-04
      • 2019-08-21
      相关资源
      最近更新 更多