【发布时间】:2019-12-21 21:19:29
【问题描述】:
我有:
- 带有 DNS example.com 的 Route53 托管区域。
- 具有 DNS z8n73n8d123.execute-api.eu-west-1.amazonaws.com 的 API 网关。
现在,如果我想将 api.example.com 或 example.com/api(没关系)指向 API 网关,至少有几种方法可以做到:
- 在 Route53 中使用别名 A 记录。但在此之前,我需要将 BasePathMapping 和 DomainName 属性添加到 API 网关,创建一个证书(必须在 us-east-1 中)。在 us-east-1 中创建证书对我来说是一个交易破坏者,所以我不能使用它。
- 使用 S3 存储桶重定向。但这看起来像是 AWS 自己引入的一个可耻的解决方法。此外,每次发生重定向时触发 S3 都会产生额外费用。所以这对我来说又是一个交易破坏者。
- 使用 CNAME 记录???
- ???
是否有任何其他可行的解决方案如何将 some-sub-domain.example.com 或 example.com/whatever 指向 api 网关?
【问题讨论】:
-
为什么证书必须在 us-east-1 中?
-
@danimal 这是 SSL 证书的 API 网关要求,因为它在后台使用 CloudFront。
-
为什么“在 us-east-1 中创建证书会破坏交易”?您人为地限制自己在 API Gateway 和 AWS CloudFront 上使用 SSL。
-
我的 cloudformation 堆栈是 eu-west-1。我将不得不创建单独的堆栈,在堆栈和区域之间引用资源。这太复杂了。
标签: amazon-web-services amazon-s3 dns aws-api-gateway amazon-route53