问题标签 [krakend]

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 投票
0 回答
226 浏览

api-gateway - 如何将 krakenD 端点映射到 SOAP 请求后端?

我使用KrakenD作为我的 API 网关,我需要创建一个端点来查询一些 SOAP 请求,但我找不到任何关于如何配置文件的文档。

客户端将请求我的 KrakendD API 网关,例如:

我的 API Gateway 应该将上述请求映射到以下 SOAP 请求中:

我找到了这个文档,但这还不够!

我应该如何配置我的后端?谢谢你的支持!_

0 投票
1 回答
604 浏览

node.js - Krakend api-gateway的连接被拒绝错误?

我想看看并尝试api-gateway我正在使用的具体工作方式Krakend。从技术上讲,我有一项服务,它只接收请求并回复。api-gateway问题是服务是一个非常简单的 http-server在相关端点被触发时没有接收到请求api-gateway。但是,当我通过浏览器发出获取请求并写入确切的 urlhttp://localhost:8000/api/v1/users时,我得到了响应。基本上,我想要的是,当我向localhost:8099/users哪个是api-gateway我希望 api-gateway 向用户 api发出 get 请求并查看预期日志时,我想要的是。

这是我得到的错误。

错误 #01:获取“http://localhost:8000/api/v1/users”:拨打 tcp 127.0.0.1:8000:连接:连接被拒绝

这是我krakend.json放置配置的文件。

这是我的节点 js 服务器。

因此,当我向该地址发出 get 请求时,http://localhost:8099/users日志如下:

Krakend这里的文档中,它说当从后端返回高于 400 的状态代码时,“我猜”日志是用上面的500代码编写的。

500 Internal Server Error 默认错误代码,一般来说,当后端返回任何高于 400 的状态时

我确实玩过krakend.json文件并更改了文件的不同部分,但仍然无法正常工作。

我知道这是一个tcp错误,检查了导致该错误的原因。1- 端口可能会崩溃,这是不正确的,因为当我直接向端点发出获取请求时,http://localhost:8000/api/v1/users我会得到日志。

0 投票
0 回答
349 浏览

lua - Lua 脚本语言:修改 API 网关中的响应正文

我想修改后端返回的响应正文。

作为背景,我将详细说明我的具体问题(但我不需要解决具体问题,只需要处理响应主体的方法)。我想根据响应的状态代码向响应主体插入/添加一个键值对,并且我想将snake_case键转换为camelCase键。

例如,给定一个响应

我想将其转换为响应

成功的规则对于任何低于 400 的东西都是 True,对于任何高于或等于的东西都是 False。

Lua 脚本可用于我的 API 网关,即 Krakend https://www.krakend.io/docs/endpoints/lua/

该文档仅包含打印响应正文和修改标头的示例,但不包含修改响应正文的示例。

我没有使用 Lua 的经验,只需要它来完成一项任务。我还没有找到可以玩的响应体操作的在线示例。

为了将键值对添加到响应正文并操作响应正文中的键,我需要哪些方法?

0 投票
1 回答
64 浏览

api-gateway - KrakenD API 网关中的多个 POST 后端

我可以有一个连接到多个 POST 后端的 KrakenD API Gateway POST 端点吗?

0 投票
0 回答
75 浏览

iframe - 如何在 krakend 中禁用标头

当我进行重定向时,krakenD会在我的响应中添加x-frame-options: 。DENY我需要一些如何从响应中删除此标头,因为我在站点上收到错误:Refused to display ... in a frame because it set 'X-Frame-Options' to 'deny'。我试过这个

"frame_deny": false, "custom_frame_options_value": "SAMEORIGIN"

就像这里建议的那样https://www.krakend.io/docs/service-settings/security/ 但它没有用。我钢铁得到DENY回应。我可以将标题更改为SAMEORIGIN- 但在这种情况下,我有类似的错误:Refused to display ... in a frame because it set 'X-Frame-Options' to 'sameorigin'

那么如何在KrakenDx-frame-options中删除或禁用向响应添加标头?

0 投票
1 回答
773 浏览

go - 从opentelemetry的请求标头中提取跟踪器的正确方法

我有 krakend apigateway,它使用 opentracing 并将 req 标头作为 X-B3-... 发送以进行跟踪,而我的服务正在使用 opentelemetry。
这就是我现在在 jaeger 上所拥有的。
在此处输入图像描述

在此处输入图像描述

我希望服务跨度位于 apigateways 之下。

我已经完成的解决方法:
这是使用 chi 路由器的请求的确切处理程序。

0 投票
1 回答
240 浏览

kubernetes - 开始使用 KrakenD

我需要一些对 KrakenD 的初学者帮助。我在 Ubuntu 上运行它。下面提供了配置。

我能够毫无问题地访问 /healthz API。

我的挑战是 /hello 路径返回错误 500。我希望此路径重定向到在http://getting-started36-getting-going.apps.bamboutos.hostname.us/上运行的 Quarkus 应用程序。

为什么这不起作用?如果我修改 /hello 后端并使用假主机,我会得到完全相同的结果。这表明 KrakendD 甚至没有尝试连接到后端。

在日志中,KrakendD 说:

Error #01: invalid character 'H' looking for beginning of value

海妖.json:

我错过了什么?

0 投票
1 回答
47 浏览

microservices - KrakenD 包罗万象的路径

我在 KrakenD 配置中有两条路径:/city/toronto 和 /city/vancouver。我想创建另一条路径 /city/other 来捕获将提供的所有其他城市。

我知道乍一看有人会说:将城市设为路径参数,或者甚至会说将城市设为查询参数。我已经考虑过这些选项,但它们是不可行的。

Krakend 中有没有办法定义一个包罗万象或后备端点?我虽然通配符可以让我这样做,但我不知道这是如何工作的。

0 投票
1 回答
76 浏览

api-gateway - 询问有关编写 krakend config.json 的问题

我们从 krakend 作为 API 网关开始。我的问题是:我们有超过 100 个端点的后端应用程序。我们需要编写一个包含所有 100 多个端点的 json 吗?可以使用通配符之类的东西吗?

0 投票
1 回答
149 浏览

exception - KrakenD - 防止改变响应

我是 KrakenD 的新手。我尝试将此 API 网关配置为不修改来自后端的响应。以下是 ma 配置的摘录:

在这个 GET 请求中,我们询问了一些实体。当实体不存在时,我们的 Spring 应用程序会抛出异常并返回状态 404。没有 KrakenD 的原始响应如下所示:

但是当我使用 KrakenD 时,响应如下:

这对应于找不到实体时引发的异常:

如何配置 KrakenD 以实现这种行为?或者也许我应该以某种方式改变我们后端的实现?

提前感谢您的帮助