我有一个ALB,目前路由流量到多个urls。我希望能够将流量路由到静态S3站点,以防我们需要执行维护。然后我们将显示一个静态的“维护”页面,而不是我们的登录页面。
我已经创建了一个CloudFront分发,它允许使用SSL证书加载S3站点,但我不确定如何连接该分发以将所有流量发送到S3维护站点。
这是我正在使用的Terraform ALB监听器。我是否可以在target_group上指定我的CloudFront分发arn,并让它将所有流量路由到静态站点?
或者,我是否可以简单地将此处的S3 arn链接到允许ALB访问以获取存储桶对象的S3策略?
resource "aws_alb_listener" "ssl_alb_httpslistener" {
load_balancer_arn = "${aws_alb.alb_lis.arn}"
port = "443"
protocol = "HTTPS"
ssl_policy = "Sec-TLS"
certificate_arn = "${var.ssl_cert_arn}"
default_action {
target_group_arn = "${data.terraform_remote_state.php.target_arn}"
type = "forward"
}
}我希望我可以将通过ALB的流量从target_group路由到静态S3站点。我很好奇这是不是最好的方法。
发布于 2019-08-09 11:03:42
简单的答案是使用ALB上的重定向选项将流量转发到新的url。我的Route53 url连接到一个链接到S3存储桶的CloudFront分发。在这里,我能够指定一个单一的重定向url,并保留我的HTTPS流量选项,只需最少的基础设施修改。
发布于 2019-08-09 11:29:39
您现在可以让Lambda函数作为目标组,使用Lambda,您可以触发S3,发出cloudfront(http) GET请求等。
发布于 2021-06-17 15:25:58
我在使用ALB和lambdas时遇到了同样的1M字节限制的问题,并使用压缩作为解决方法。在响应头中设置Content-Encoding=并相应地压缩您的文件。
https://stackoverflow.com/questions/57385706
复制相似问题