【发布时间】:2021-11-01 02:50:59
【问题描述】:
我有一个现有的 Elastic Beanstalk 应用程序映射到我的域。我现在需要迁移此服务以使用新域,因为旧域即将退役。但是,在迁移阶段,我需要维护这两个映射。
所以,今天我使用 SSL 证书在端口 443 上设置了 EB 和 HTTPS 侦听器,我们可以调用 *.foo.com。假设 EB URL 是 hello.eu-west-1.elasticbeanstalk.com
然后我有一个 Route 53 别名记录 hello.foo.com 指向 hello.eu-west-1.elasticbeanstalk.com。
对https://hello.foo.com 的请求转到EB 应用程序,侦听端口443 并使用*.foo.com SSL 证书。到目前为止,一切顺利。
现在假设我购买了bar.com,我需要https://hello.bar.com 指向同一个EB 应用程序。这怎么可能?
如果我为hello.bar.com 设置新的A 记录以指向EB,则域名解析,但证书不匹配(显然)。
如果我设置 CNAME 记录也是一样。
由于我无法使用端口 443 和 *.bar.com 证书向 EB 添加第二个侦听器,因此我发现自己缺乏选择。到目前为止,我想出了:
- 将 EB 环境克隆到一个新环境,并使用带有该环境的新证书将
hello.bar.com指向https://hello-new.eu-west-1-elasticbeanstalk.com。 - 在 EB 前使用 CloudFront,然后为
hello.bar.com设置一个A记录以指向xxxxx.cloudfront.net,而xxxxx.cloudfront.net又指向 EB URL。
是否有更多或更好的方法来做到这一点?解决这种情况的最佳方法是什么?一旦我的新域启动并且我的所有客户都在使用新域,我想删除旧的 foo.com 域,但我需要 foo.com 和 bar.com 在迁移阶段并行工作。此外,似乎没有必要将 CloudFront 放在 ELB 前面 - 这是一个经过身份验证的 API,无论如何都无法进行缓存。
【问题讨论】:
标签: amazon-web-services amazon-elastic-beanstalk amazon-route53 amazon-elb aws-load-balancer