我们目前在 API 网关中设置了一些 API,并使用区域端点和基本路径映射定义了自定义域名,这些映射将传入请求映射到适当的 API 和部署阶段。例如:
api.example.com/app1/prod/res1
映射到app1
API、阶段,并且在该 API 中,在根下prod
有一个直接资源。res1
这很好,但现在我们需要支持 IPv6。看起来 CloudFront 发行版可能是解决方案,但尝试定义发行版的源域名API 网关自定义域名目标域名不起作用。配置如下:
在 CloudFront 中:
- 源域名:API 网关的目标域名 (***.execute-api.eu-central-1.amazonaws.com)
- 备用域名 (CNAME):api6.example.com
在 API 网关中:
- 自定义域名:api.example.com
- 目标域名(区域端点):***.execute-api.eu-central-1.amazonaws.com
值得注意的是,将 CloudFront 中的 CNAME 设置为与 API 网关的自定义域名相同会失败,因为 CNAME 已经存在。
此外,将 CloudFront Origin Domain Name 设置为特定 API 阶段的域也是可行的,但这会绕过我们的基本路径映射,从而让我们轻松更改阶段。我不想为每个 API 和阶段组合配置单独的 CloudFront 分发。
关于如何使用 API 网关的基本路径映射支持 IPv6 有什么建议吗?