【问题标题】:Use a sub-domain for a API-gateway/Lambda为 API 网关/Lambda 使用子域
【发布时间】:2016-03-12 07:34:20
【问题描述】:

我正在将 Web 中继集成到 AWS 服务中,该服务可以调用预定义的路径 ( /some-fixed-path 并且无法配置),我想在专用子域上使用 lambda 拦截它,以使其与我们的其他服务分开,所以我希望调用为 http://subdomain.example.com/some-fixed-path

我注册了一个域(我们称之为example.com),并且定义了一个托管区域。如何在托管区域中创建记录集并在 API 网关定义中使用它? (网址不能包含舞台...)

在 API 网关定义中,有一个“自定义域名”选项,但我不知道如何从我的托管区域指向记录。

【问题讨论】:

  • 您的服务会遵循 301 重定向吗?我认为您不能在 route53 中定义路径。因此,您可以为 subdomain.example.com/some-fixed-path 设置一个 s3 存储桶,并在 s3 中设置重定向以转到 api 网关 url(这必须包括舞台。)有点 hacky 但我认为它会工作.

标签: amazon-web-services amazon-route53 aws-api-gateway


【解决方案1】:

您应该能够简单地按照using a custom domain 的说明进行操作,然后将托管区域中的别名记录添加到 API Gateway 控制台提供的 CloudFront 分配中。

您需要使用指向已部署阶段的基本路径来配置自定义域。届时,您可以在 some-fixed-path 创建您的资源。

注意:API Gateway 目前要求所有 API 都是 HTTPS,因此如果您的调用无法更改为支持 HTTPS,API Gateway 将不适用于此用例。

【讨论】:

    【解决方案2】:

    AWS 有 a detailed guide 关于如何准确地做到这一点。

    还有几点需要注意:

    1. 确保在对 API 进行任何更改时记得重新部署。
    2. 设置基本路径映射时,请务必仔细检查 API 资源路径和方法。 (例如,如果您通过 lambda 模板创建 API 网关,则 API 资源将创建在 /{API name} 下,而不是 /)。

    由于这些原因,很多人在第一次使用 API 网关时会看到 Missing Authentication Token。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-11
      • 2021-06-28
      • 2018-09-11
      • 1970-01-01
      • 2018-04-16
      • 2019-05-02
      • 2018-03-02
      • 1970-01-01
      相关资源
      最近更新 更多