gpt4 book ai didi

node.js - 通过 API 网关安全路由的 ECS 容器未返回,但对容器的健康检查良好

转载 作者:行者123 更新时间:2023-12-03 12:12:59 25 4
gpt4 key购买 nike

好的,所以这会很长,但我想确保我解释一下。我正在尝试做一个概念证明,我们可以通过使用 API 网关公开的 ECS 部署微服务,以便我们可以利用 lambda 授权者和认知。
为了实现这一目标,我一直在关注 Medium 上的本指南。
但是,一旦我部署了网关,我就会遇到以下错误:

Cannot GET /node-demo
让我回顾一下基础知识,我有一个基本的快速应用程序,如下所示:
const express = require('express')

const PORT = process.env.PORT || 3000

const app = express()

app.get('/', (request, response) => {
return response.json({
data: {
message: `API is functional`,
},
})
})

app.listen(PORT, () => console.log(`App running on port ${PORT}`))
Dockerfile 看起来像这样:
FROM mhart/alpine-node:10.16.3

WORKDIR /app

COPY package*.json ./

RUN npm ci

COPY index.js .

CMD ["npm", "start"]
这个 docker 镜像已经推送到 ECR,我创建了一个带有环境变量的任务定义 PORT => 80在我的集群上创建了一个工作正常的服务。然后创建了一个 ALB,其目标组指向我的容器,这些恢复正常!
Healthy ALB targets
我使用以下内容路由到这些目标:
Routing
然后我的 NLB 指向 ALB,并且我在 ALB 上允许了正确的 IP,因此我们可以通过安全组访问它。 NLB 目标组中的两个 IP 均正常
在 API Gateway 中创建 VPC 链接,然后创建如下所示的资源:
API
然后我部署点击 URL /node-demo最后得到上面的初始错误。要么指南有错误,要么我做了一些根本错误的事情。

最佳答案

好消息和坏消息,
好消息,我已经解决了这个问题。
坏消息, super 简单
只需要给 express 应用添加一个路由,/node-demo

关于node.js - 通过 API 网关安全路由的 ECS 容器未返回,但对容器的健康检查良好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65340234/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com