【发布时间】:2018-04-11 01:29:45
【问题描述】:
我需要多个区域。
我有这两个 api 网关:
https://bqifffff7.execute-api.us-east-1.amazonaws.com/production/api/register
https://vqffff.execute-api.us-west-1.amazonaws.com/production/api/register
我的静态网站托管在云端:
www.example.com
在 53 号公路上,我会做地理延迟
我该如何调用,以便以地理延迟调用以下命令?
www.example.com/api/register
【问题讨论】:
-
您不能使用 Route 53 来处理域名的路径部分。只有域名本身。
-
@JohnHanley 该站点托管在 CloudFront 上,这意味着每个路径模式都指向您指定的源主机名(CloudFront 将该路径反向代理请求到指定主机)。反过来,这意味着您可以使用基于 Route 53 延迟的路由(基于在匹配路径模式后解析源主机名的 CloudFront 边缘的位置)来处理它。不幸的是,这是您遇到不相关限制的地方:您不能将 API Gateway 配置为在多个区域中期望相同的主机名,而这是此设置所要求的。
-
@Tampa 您遇到了 API 网关的限制,您需要解决此问题。一种可能性涉及 Lambda@Edge,但这意味着我们要么需要进行一些 HTTP 重定向,要么请求将受到 3 秒的超时限制,这两种方法都不可行。您的 API 使用什么方法?是只有
GET还是用POST还是其他方式? -
这不再是 API Gateway 的限制。现在,您可以在两个或多个 API 网关区域中为同一个域名创建区域域名,然后使用基于 R53 延迟的路由为区域端点设置别名。
标签: amazon-web-services amazon-cloudfront aws-api-gateway amazon-route53