首页 > 解决方案 > API Gateway VPC 链接集成到 NLB 提供 404

问题描述

我有一个这样配置的代理+资源,

在此处输入图像描述

NLB 是内部的,所以使用 VPC 链接,但是当我点击 API 网关阶段 url 时,我得到 404。下面是日志,

(some-request-id) Sending request to http://masked.elb.us-east-1.amazonaws.com/microservice/v2/api-docs

Received response. Status: 404, Integration latency: 44 ms

但是,当我从浏览器的日志中复制粘贴相同的 NLB URL 时,我会收到带有 HTTP 200 的 json 响应。

我在这里想念什么?

标签: amazon-web-servicesproxyaws-api-gatewayaws-load-balancernlb

解决方案


事实证明,我指向了错误的 VPC 链接。一旦我指出正确的 VPC 链接,它就开始工作了。

这里的关键是,即使 API Gateway 日志告诉我,它正在访问http://masked.elb.us-east-1.amazonaws.com/microservice/v2/api-docs,它实际上并没有访问此 URL . 相反,它会命中 VPC 链接所连接的 NLB。

我通过将端点 URL 中的域名更改为 http://domainwhichdoesnotexist.com/microservice/v2/api-docs来确认这一点

在日志中我看到了这个,

Thu Jul 30 09:28:09 UTC 2020 : Sending request to http://domainwhichdoesnotexist.com/microservice/api/api-docs
Thu Jul 30 09:28:09 UTC 2020 : Received response. Status: 200, Integration latency: 72 ms

推荐阅读