HTTPS、AWS ELB、CloudFront 和 S3
Posted
技术标签:
【中文标题】HTTPS、AWS ELB、CloudFront 和 S3【英文标题】:HTTPS, AWS ELB, CloudFront & S3 【发布时间】:2021-01-29 12:18:35 【问题描述】:背景:我的 bigcorp.com 部门被卖掉了,现在我们是 lilcorp.com。我们部署了一组设备,它们将在https://updates.bigcorp.com/ 上寻找软件更新,但由于我们不再控制 bigcorp.com,我们需要更新我们的设备以检查https://updates.lilcorp.com。 bigcorp 为我们提供了 updates.bigcorp.com 的证书,并有一个 DNS CNAME,用于将 updates.bigcorp.com 的流量转发到 server.lilcorp.com。
我正在尝试这样配置:
HTTPS HTTPS
Appliance -----------> ELB -----------> CloudFront ----------> S3
Cert for Cert for
updates. updates.
bigcorp. lilcorp.
com com
我有以下 DNS 记录:
将.bigcorp.com CNAME 更新为 server.lilcorp.com server.lilcorp.com CNAME 到 ELB updates.lilcorp.com CNAME 到 CloudFront.net 地址CloudFront 配置为使用 S3 存储桶作为其来源。
状态:如果我直接点击 CloudFront,一切正常,但这无济于事,因为设备正在点击 updates.bigcorp.com 地址。
问题:
ELB 可以转发到 CloudFront 部署吗?我不知道如何使它成为“目标”。 我是否需要在其中放置一个 Web 服务器来处理重定向/转发?提前致谢。
【问题讨论】:
【参考方案1】:ELB 可以转发到 CloudFront 部署吗?我不知道如何使它成为“目标”。
不,它不能。目标(对于 ALB)只能是私有 IP 地址、lambda 和实例 ID。
我需要在其中放置一个网络服务器来处理重定向/转发吗?
是的,您需要某种代理。使用 ALB,您可以使用 lambda 函数。所以 ALB 会调用一个 lambda 函数,该函数会查询外部 CloudFront 发行版并返回结果。
【讨论】:
谢谢。我将研究 Lambda 解决方案,但目前,我的解决方法是简单地使用 DNS 将 updates.lilcorp.com 别名为 CloudFront 主机。以上是关于HTTPS、AWS ELB、CloudFront 和 S3的主要内容,如果未能解决你的问题,请参考以下文章
使用Cloudfront而不是单个EC2实例的AWS ELB设置有什么意义?
使用 Cloudfront 设置 AWS ELB 而不是单个 EC2 实例有啥意义?
我应该为 elb 和 aws S3 设置两个不同的 Cloudfront 发行版吗?
Cloudfront + ELB 可以更改我的请求的查询字符串吗?