Ale*_*arT 4 amazon-web-services aws-api-gateway
我有Fargate ECS一项正在执行的任务,ALB一切正常。由于这ALB是内部的,我想通过新的HTTP API GatewayviaVPC链接公开它HTTP API。
我已经VPC为HTTP API(为 internal 指定安全组和子网ALB)创建了新链接,并将其创建HTTP API Gateway并连接到VPC链接 + ALB。
我正在尝试绘制特定路线({proxy+}以及在其他情况下),但似乎我得到了,
{
"message": "Service Unavailable"
}
Run Code Online (Sandbox Code Playgroud)
在正确的链接上。
(在不存在的情况下URLs,我得到了404- 正如预期的那样)。我也在面向互联网的情况下尝试了这个ALB(也通过VPC链接连接- 仅用于测试目的),但似乎又是这种情况。
我什至NLB使用HTTP API VPC链接对其进行了测试- 并且仍然具有相同的行为。
知道这是否有效吗?(因为它在 中UI,我认为它确实如此?)
更新:它似乎只在default阶段工作对于其他阶段,我已经创建了(开发和测试版),我得到了404.
对我来说,似乎由于URLsfor dev 和 beta 是/devand /beta,负载平衡器“变得混乱”。
HTTP API 不像原始 REST API 那样执行 URL 映射。API Gateway 只是传递在 HTTP API 的curl/invoke 中获取的路径 -
如果你传入/fooURL 后端应该有一个资源/foo
如果你传入/foo/barURL 后端应该有一个资源/foo/bar
对于较旧的 VPC 链接,您可以使用 URL 来映射
/foo -> /bar/baz
Run Code Online (Sandbox Code Playgroud)
这可能就是 404 的原因。
至于503 Service unavailable,查看ALB的访问日志,看看是否收到来自API网关的连接。请求可能会路由到默认规则,而不是您可能定义的任何自定义 ALB 规则。如果目标不健康或缺失,这将导致您的请求指向不正确的目标组,从而导致 503 错误。
| 归档时间: |
|
| 查看次数: |
2112 次 |
| 最近记录: |