1

我正在尝试将我的云端分发配置为将 mydomain.com 的请求路由到 S3 存储桶,并将 mydomain.com/api/* 的请求路由到 ELB。

在路线 53 中,我有 dev.mydomain.com 指向具有别名记录的云端分布

route53 中 cloudfront 的别名

我在云端配置了两个来源 - 一个到 S3,一个到可公开访问的 ELB

Cloudfront 起源设置

我已经配置了一个(在默认之上)行为来将 api/* 请求路由到 ELB 源

Cloudfront 行为设置

我对 S3 存储桶没有任何问题。当我添加将 api/* 请求路由到 ELB 的新行为时,每当我点击 api/* 路由时都会收到 502 网关错误。

当我从提供给 Cloudfront 的源向 ELB 发出请求时,我在 Postman 中看到以下响应:

Error: Hostname/IP does not match certificate's altnames: 
Host: mydomain-api-dev-env.us-east-1.elasticbeanstalk.com. is not in the cert's altnames: DNS:*.mydomain.com

这让我相信 502 是因为 ELB url 不包含在 mydomain.com 的证书中。

假设这是我的问题,由于我不拥有 elasticbeanstalk.com 域,我将如何解决此证书问题?

4

1 回答 1

1

您必须将您自己的域与负载均衡器相关联并为其添加适当的 SSL。然后在您的 CF 发行版中,您将使用自己的 ALB 域,而不是 AWS 提供的域。

于 2021-10-02T04:32:00.157 回答