gpt4 book ai didi

amazon-s3 - 使用 S3 + CloudFront 的维护模式

转载 作者:行者123 更新时间:2023-12-02 07:20:43 24 4
gpt4 key购买 nike

我正在提供一个托管在 S3 上并通过 CloudFront 公开给网络的单页应用程序。当我对我的 API 执行维护时,我想要一个手动开关,导致对我的应用程序的请求呈现维护页面。

我可以将维护 HTML(或 json)放到 S3 中。开启维护模式时,如何配置CloudFront返回维护站点?

最佳答案

创建一个 Lambda@Edge 函数来生成您的静态“维护”响应:
http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-examples.html#lambda-examples-static-web-server

当您想要激活它时,选择 Viewer Request trigger 并在您想要返回维护消息的缓存行为的设置页面上使用 Lambda 函数的 ARN,并保存更改。要停用它,请将其删除。更改通常会在很短的时间内处理。

这将实现您的目的,因为查看器请求触发器在检查 CloudFront 缓存之前触发,并且如果它生成响应,则返回响应而不检查缓存并且生成的响应不存储在 CloudFront 缓存中——因此任何缓存的内容移除触发器后仍将存在。

请注意,当您第一次真正将这样的函数与 CloudFront 分配关联时,我相信您需要在 Lambda 控制台中“启用触发器和复制”,以便在 CloudFront 需要时可以全局访问 Lambda 函数。测试时,您不必将其与“真实”的 CloudFront 发行版关联——您可以创建第二个用于测试——但函数版本需要经过此复制周期才能在 CloudFront 控制台中使用.与 Lambda@Edge 一起使用的函数必须在 us-east-1 区域中创建,然后复制到所有区域,以便 CloudFront 边缘可以通过其最近的区域调用它。 Lambda@Edge 函数始终由其数字版本 ID 引用。 Lambda@Edge 不使用函数别名,包括魔法字符串 $LATEST

关于amazon-s3 - 使用 S3 + CloudFront 的维护模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46904990/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com