问题标签 [express-gateway]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
284 浏览

docker - 如何让快速网关在 Kubernetes 中工作?

我正在构建一个微服务应用程序,在其中我使用 nginx-ingress 连接所有运行良好的服务,但现在我想添加一些高级功能,如 jwt-authentication。我认为我不会在每个服务中实现它,而是使用 API 网关并选择 express-gateway,因为它看起来很容易设置。我在本地测试了所有东西(没有 docker/kubernetes),一切都在不到 5 分钟的时间内按预期工作。

我的问题是我无法让网关将请求传递给实际的服务。请求到达网关。我在 Ubuntu 上使用 minikube 并在我的主机文件中添加了一个主机,这样我就不必记住 minikube IP。通常我通过https://app.dev/api/users/signup获得我的服务。

这是我的 gateway.config.yaml

apiEnpoints用于配置您调用的路由,而serviceEndpoints 网关调用的,因此是微服务的内部 IP。我认为这是我不知道实际主机是什么或网关如何获取此信息的问题。当我使用 ingress-nginx 时,我不必指定微服务的主机。因为每次启动它的权利都不一样,所以我不明白我必须在这里做什么。有什么建议吗?遗憾的是,快递网关没有关于如何使用 kubernetes 进行设置的文档,文档只是说它可能):这是我的其余配置:my-service-depl.yaml(简单的 NodeJS 快递应用程序)

入口-srv.yaml

快递网关:Dockerfile

0 投票
1 回答
85 浏览

express - 使用 express-gateway 修改 graphql 查询变量

我正在尝试使用express-gateway.

网关上的代码如下,

现在,当我从 POSTMAN 发出请求时,请求通过并仅在我 include 时返回 200OK clientID,否则,它会抛出错误

“消息”:“未提供所需类型“ID!”的变量“$clientID”。

知道这里可能出了什么问题吗?

0 投票
1 回答
37 浏览

express-gateway - Not able to run express-gateway on heroku - failed to bind to $PORT

I'm trying to have the basic example express-gateway running on Heroku

Looking the logs I got the following error:

Any ideas?

0 投票
1 回答
94 浏览

kubernetes - Kubernetes 服务的 Express-gateway 配置

我正在尝试为我的微服务研究配置 api-gateway。我创建了一个 pod 作为该 pod 的 auth-depl 和 auth-src 服务。我还有另一个 pod&service 作为 links-depl 和 links-serv。我想为它制作一个 api-gateway。这些服务。

kubeectl get pods”的输出:

kubectl get services ”的输出:

我的 express-gateway 配置文件是这样的:

我只是尝试使用 api-gateway 访问身份验证服务,但我不能这样做。为此,我发送此请求:

我得到“无法发布/用户/注册错误

但是当我向我发送请求时, GET http://localhost:30624/ip 我可以收到响应。

如何配置此 gateway.config.yaml 文件来解决我的问题。

0 投票
1 回答
281 浏览

node.js - 如何通过 RESTAPI 在 Express Gateway 中使用多个路径和端点?

目前正在开发处理 RESTAPI 和 GraphQL 微服务调用的 Express Gateway。GraphQL 管道工作正常,但 RESTAPI 的管道是我正在努力解决的问题。

我制作了一个简单的 CRUD 功能 RESTAPI,可以创建、阅读、更新和删除书籍和作者。他们有多种途径可以做到这一点,例如:http://localhost:4001/books/add。

问题是我真的不明白如何在快速网关中翻译这些路由或路径,以便我可以通过网关到达它们。

这是我当前的代码,config.yml:

这是restapi书的代码:

现在,当我调用:http://localhost:4001/rp 时,它会返回“restapi”,就像我告诉这样做的那样。但是当我调用:http://localhost:4001/rp/books 时,它返回一个“CANNOT GET”,这是合乎逻辑的,因为我没有定义这个路径。首先,我认为快速网关会自动理解这一点。

我必须对所有路径进行硬编码吗?

我希望有人能给我解释一下,因为快递网关没有像我这样的例子。:)

0 投票
1 回答
185 浏览

node.js - 即使在 Express 和 Express 网关上启用 CORS 后,仍受 CORS 策略的限制

我正在使用Express Gateway代理我的微服务。我从我的react应用程序中使用Axios. 但是,呼叫受到限制CORS Policy。我已经在快速网关和我的身份验证服务中启用了 CORS。我按照官方文档从Express Gateway 的链接和身份验证服务(Express App)的链接启用 CORS。这是我的代码。

快速网关 config.yml

身份验证服务 app.js

当我尝试使用 Insomnia(像 Postman 这样的客户端)时,我从服务器返回的标头可以在下图中看到。

我从服务器获得的标头

我在浏览器控制台中收到此错误。

我不确定我错过了什么。如果您需要其他任何东西,请告诉我,我会尽快提供。每一次试图解释我的案例有什么问题的尝试都非常感谢。

编辑:添加 API 调用片段

0 投票
1 回答
218 浏览

node.js - 快速网关记录每个请求

我想记录快速网关收到的每一个请求,但似乎我无法决定记录什么。

我试图整合morgan('immediate') 来自https://github.com/expressjs/morgan

但看起来它没有被使用。

有人成功集成了快速网关中的高级登录吗?

我也试过 Longjohn 和同样的问题。

0 投票
1 回答
11471 浏览

express - CORS 问题 - preflightMissingAllowOriginHeader - Express Gateway 和 Axios

我很想使用 Express Gateway + AXIOS (react) + Express,但我收到了 CORS Erro,我已经做了很多事情但没有任何效果。

错误是这样的: 在此处输入图像描述

Cross-Origin Resource Sharing error: PreflightMissingAllowOriginHeader

EXPRESS的是这样的:

我的EXPRESS-GATEWAY

我的AXIOS

我不知道该怎么办了。有人能帮我吗 ?

我已经进入了几个帖子,但没有任何效果..

编辑:它也没有进入控制器。edit2:我可以与 POSTMAN 一起使用,它按预期工作......

0 投票
1 回答
116 浏览

javascript - 我无法在 Express-Gateway 上访问我想要的数据

干得好伙计们。

我使用 Node JS 开发的项目在 8001 PORT 运行

我将使用 EXPRESS-GATEWAY,因为我想安装微服务构建。但是,虽然我进行了以下设置,但数据并没有返回给我。

在Node JS方面,我有这样的命令。

最后我有了这样一个 YAML 文件。

我无法访问“companies_getAll”。你能帮我解决这个问题吗?

0 投票
0 回答
89 浏览

javascript - 如何将带有请求参数的 API 请求链接到在另一个端口上运行的 graphql 服务器查询

我有一个在某个端口上运行的 API 网关。有一个 API 端点:fetch/products/. 来自此 API 端点的带有一些请求参数的请求需要发送到 graphql 服务器。如何将这些 JSON 请求参数动态发送到 graphql?

Server1.js

api网关服务器文件

API-Gateway 的请求来自不同的端口:

#如何以这种形式将此请求发送到graphql服务器:

当我从 API-request 和 stringyfy 创建对象时,我也得到了字符串中的键。

如何处理?或其他方式来处理来自 API-Gateway 到带有请求参数的 graphql 服务器的请求。