问题标签 [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.
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
express - 使用 express-gateway 修改 graphql 查询变量
我正在尝试使用express-gateway
.
网关上的代码如下,
现在,当我从 POSTMAN 发出请求时,请求通过并仅在我 include 时返回 200OK clientID
,否则,它会抛出错误
“消息”:“未提供所需类型“ID!”的变量“$clientID”。
知道这里可能出了什么问题吗?
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?
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 文件来解决我的问题。
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”,这是合乎逻辑的,因为我没有定义这个路径。首先,我认为快速网关会自动理解这一点。
我必须对所有路径进行硬编码吗?
我希望有人能给我解释一下,因为快递网关没有像我这样的例子。:)
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 调用片段
node.js - 快速网关记录每个请求
我想记录快速网关收到的每一个请求,但似乎我无法决定记录什么。
我试图整合morgan('immediate')
来自https://github.com/expressjs/morgan
但看起来它没有被使用。
有人成功集成了快速网关中的高级登录吗?
我也试过 Longjohn 和同样的问题。
javascript - 我无法在 Express-Gateway 上访问我想要的数据
干得好伙计们。
我使用 Node JS 开发的项目在 8001 PORT 运行
我将使用 EXPRESS-GATEWAY,因为我想安装微服务构建。但是,虽然我进行了以下设置,但数据并没有返回给我。
在Node JS方面,我有这样的命令。
最后我有了这样一个 YAML 文件。
我无法访问“companies_getAll”。你能帮我解决这个问题吗?
javascript - 如何将带有请求参数的 API 请求链接到在另一个端口上运行的 graphql 服务器查询
我有一个在某个端口上运行的 API 网关。有一个 API 端点:fetch/products/
. 来自此 API 端点的带有一些请求参数的请求需要发送到 graphql 服务器。如何将这些 JSON 请求参数动态发送到 graphql?
Server1.js
api网关服务器文件
API-Gateway 的请求来自不同的端口:
#如何以这种形式将此请求发送到graphql服务器:
当我从 API-request 和 stringyfy 创建对象时,我也得到了字符串中的键。
如何处理?或其他方式来处理来自 API-Gateway 到带有请求参数的 graphql 服务器的请求。