【问题标题】:AWS API Gateway path based routing to private integrations基于 AWS API Gateway 路径的私有集成路由
【发布时间】:2021-08-31 06:07:40
【问题描述】:

我正在使用 AWS HTTP API Gateway 将请求路由到我在 VPC 中的集成。

我添加了一个自定义域,我想通过以下方式根据路径将我的请求路由到我的集成

基本上所有到达 API 网关的请求都应该根据基本路径路由到不同的集成,但集成应该只接收基本路径之后的路径。因此,所有到达 my.custom.domain/foo/// 的请求都应该路由到集成 Foo 但网关应该剥离基本路径,即 /foo并将其余部分转发给集成。

功能与下面 nginx 中的相同,其中 nginx 从请求路径中剥离 foo 并将其余部分转发给服务

location /foo/ {
  proxy_pass http://foo.service
}

我尝试在 AWS API 网关中添加自定义域和 API 映射,但这不起作用。我的服务仍然从请求中接收整个路径,因此失败。 我无法在互联网上找到任何关于此的文档或提及。

【问题讨论】:

    标签: amazon-web-services proxy aws-api-gateway aws-http-api


    【解决方案1】:

    您可以使用路由和参数映射来实现这一点。

    使用 2 个路径映射创建 2 个路由:

    1. 路径:“/foo/{proxy+}”,参数映射:“/$request.path.proxy”

    2. 路径:“/bar/{proxy+}”,参数映射:“/$request.path.proxy”

    “proxy+”是greedy path variable,所以它会包含/foo/或/bar/之后的路径。

    您可以将此变量与parameter mapping 一起使用来覆盖后端将接收的路径。

    【讨论】:

      猜你喜欢
      • 2021-10-13
      • 2021-04-19
      • 2021-11-03
      • 2018-09-23
      • 2017-08-29
      • 2021-04-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-10
      相关资源
      最近更新 更多