【问题标题】:Geo Restriction for API Gateway and LambdaAPI Gateway 和 Lambda 的地理限制
【发布时间】:2018-02-13 07:12:19
【问题描述】:

我们有一个 AWS lambda 函数并映射到 API 网关。

我想对我们的 API 启用地理限制,这是云端的一项功能。 希望它不会受到我们不提供服务的国家/地区的影响。

我相信 API Gateway 默认使用云端,但我看不到任何相关的云端分发。

想知道在使用 API Gateway 和 AWS Lambda 时启用地理限制的方法是什么。

【问题讨论】:

    标签: amazon-web-services aws-lambda amazon-cloudfront aws-api-gateway


    【解决方案1】:

    虽然 API Gateway 似乎正在使用 CloudFront。无法对 API 网关本身配置地理限制(至少目前如此)。您可以使用 CloudFront 创建分配并将源点指向 API Gateway 并启用地理限制。

    此外,您还可以启用 x-API-key 以保护您的端点免受来自 CloudFront 的 API-Gateway 的影响。

    从代码控制的另一种方法是通过分析 CloudFront-Viewer-Country 标头。

    【讨论】:

    • 为了澄清最后一句话,CloudFront-Viewer-Country 标头会自动注入到所有 API Gateway 请求中,您可以在 Method Request 中访问它并在 Integration Request 中映射它,否则将可见如果您使用代理集成,则会自动进行。
    • 您需要在 CloudFront 中将 CloudFront-Viewer-Country 列入白名单,AWS 自己会自动注入值以供 Lamba 或其他应用程序使用。
    • 不,我指的是 标准 API Gateway 行为,没有外部配置的 CloudFront 分配(只是 API Gateway 拥有和控制的隐式分配)。该标头自动存在,在每个 API 网关请求中,无需配置。
    • 很高兴知道。我真的很想将其视为与 CloudFront 的单独发行版。 AWS 将两者集成在一起并以不同的形式提供相同的功能。
    • 好吧,我假设他们看到了 CloudFront 基础设施中已经有多少堆栈可用,并决定在创建 API 网关时利用其中的一些......但大概是 API 网关前面的内容与直接提供给客户的 CloudFront 发行版不同——但幸运的是,他们确实打开了这些自定义标头。
    猜你喜欢
    • 2017-04-17
    • 2018-11-28
    • 1970-01-01
    • 2019-10-20
    • 2017-08-20
    • 2018-11-25
    • 2017-08-24
    • 1970-01-01
    • 2019-07-09
    相关资源
    最近更新 更多