问题标签 [kong-plugin]

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 回答
231 浏览

kong - 如何在kong manager中添加自定义插件

我有一个文件custom.lua,我想将此插件添加到特定的服务路线。

我把文件代码放进去,Config.access但它给出了模式冲突错误。此外,使用了文档中引用的缩小器。

如何向路由添加自定义插件?我需要以某种方式格式化文件中的代码吗?

Update文件包含(,)作为分隔符,如何克服它?

0 投票
0 回答
32 浏览

kong - Kong JS 插件 - 断管错误 - 大负载大小 - 223.86 KB 大小

香港版 kong-pdk@0.3.4 kong:2.4.1-alpine

问题总结 发送大负载量的 http 请求时,在读取转换请求时,JS 插件中出现断管错误。

Postman ---------------------> Kong Gateway [解密请求的JS插件] ----------------- -------- > 微服务

代码: if (!this.isWhiteList) { let requestRaw = await kong.request.getRawBody() ------> 此处异常

日志 2021/07/29 20:43:57 [notice] 44#0: *234 [kong] mp_rpc.lua:286 [config-redis] [ApiWhiteListConfig] 是白名单:false,客户端:172.23.0.1,服务器: kong,请求:“POST /paotang/v1/registration/grant HTTP/1.1”,主机:“localhost:9000” 2021/07/29 20:43:57 [错误] 44#0: *234 send() 失败( 32:断管),客户端:172.23.0.1,服务器:kong,请求:“POST /paotang/v1/registration/grant HTTP/1.1”,主机:“localhost:9000” 2021/07/29 20:43:57 [通知] 43#0:从 51 2021/07/29 20:43:57 收到的信号 17 (SIGCHLD) [错误] 44#0: *234 [kong] mp_rpc.lua:308 [decrypt] 损坏的管道,客户端: 172.23.0.1, server: kong, request: "POST /paotang/v1/registration/grant HTTP/1.1", host: "localhost:9000" *2021/07/29 20:43:57 [通知] 43#0: 18 [kong] process.lua:258 外部插件服务器'js'终止:exit 1,上下文:ngx.timer 2021/07/29 20:43:57 [notice] 43#0: *18 [kong] process.lua:248 启动 js,上下文:ngx.timer

0 投票
1 回答
454 浏览

kubernetes - kong 限速插件对请求没有影响

我已经部署了以下资源。

  1. kong 命名空间中的 kong

  2. poc 命名空间中的服务回显

    kubectl apply -f https://gist.githubusercontent.com/hbagdi/0d833181239a39172ba70cbec080bdb9/raw/7f46cf1c9e54562e2c23902daace7ac8edc40427/echo-server.yaml -n poc

  3. 在 poc 命名空间中使用 /foo 路径创建了一个入口。注意:/foo 从 echo 服务映射到 /echo。

  1. 创建了kong插件
  1. 使用 default.rate-limiting 修补服务 kubectl patch -n poc svc echo -p '{"metadata":{"annotations":{"konghq.com/plugins": "default.rate-limiting"}}}'

根据上述逻辑,应该允许一分钟内 3 个请求,但是即使一分钟内超过 3 个请求,也不会应用速率限制。

0 投票
0 回答
307 浏览

kong - 我可以使用 kong 的响应转换器插件将标头 Content-Type text/html 替换为 application/json 并将 json 中的键替换为其他值吗

目前,上游 API 的输出是结构的 - {"status":"success","url":"abc.in"} 返回的 Content-Type 是 text/html

我需要将其作为对客户端(Content-Type application/json)的 JSON 响应,并在结构(url)上进行一些更改- {"status":"success","url":"xyz.in"}

我通过以下方式尝试了kong的响应转换器插件 -

  1. 在替换部分,我在标题中指定了这个 - Content-Type:application/json
  2. 在替换部分,我在 json - url:xyz.in 中指定了这个

在这些更改之后,我没有得到回应

为了调试这个问题,我放置了记录器,发现由于 body transformer.lua 中存在这条线,所以会出现 nil 响应

但是我已经将 Content-Type 从 text/html 转换为 application/json,所以我无法弄清楚为什么会发生这种情况。

0 投票
1 回答
204 浏览

kong - Kong Regex 用于替换 URI 中的字符串

我正面临一个可用的“strip_path”功能的特殊问题

有人可以帮忙吗?

0 投票
0 回答
169 浏览

kong - Kong中的前端路由

我有几个微服务和一个前端运行在通过 Kong 暴露的不同端口上。

问题甚至是像“/add”、“/edit”、“/swagger”等路由,前端路由“/”被调用。

服务:abc-microservice 路径:/abc/swagger Strip_Path:false 保留主机:true

服务:前端 路由:/ Strip_Path:假 保留主机:真

期望: www.xyz.com/abc/swagger的 PUT POST导致 www.xyz.com/abc/swagger

实际: www.xyz.com/abc/swagger的PUT POST导致www.xyz.com/ 是前端。

我该如何解决这个特定问题?

0 投票
0 回答
84 浏览

prometheus - Kong API Gateway 自定义普罗米修斯指标

任何人都尝试在 Kong 中配置自定义指标。

假设如果我想收集指标,说基于租户 ID 的命中数,该租户 ID 在访问 API 时作为查询参数之一传递。还基于作为 JWT 声明一部分的客户端 ID。如何实现这一点。有没有人试过这个。任何工作示例都会有所帮助。

0 投票
0 回答
80 浏览

nginx - Nifi 背后的 Kong api 网关

我想在配置了 nifi.web.proxy.context.path 的 kong api 网关后面部署 nifi。我能够使用具有以下属性的 nginx 成功实现这一点

现在我想在 kong 路由或服务中具有相同的配置 如何添加 X-Proxy 属性(无 nginx) 我添加了服务和路由但在https://kongserver.com/apigw/doc-shared/nifi/它将打开 nifi 重定向页面到https://kongserver.com/nifi,其中给出 404。Kong 配置为将 /apigw 作为路径

0 投票
0 回答
52 浏览

nginx - 在 kong 中为后端服务设置 X-ProxyContextPath

我们想在kong中为后端服务设置proxy_set_header X-ProxyContextPath (在nginx中它将proxy_set_header X-ProxyContextPath /apigw/doc-shared/nifi;在位置配置下),我们已经创建了kong服务和路由

拨打电话时, curl -L -k https://fqdn/apigw/doc-apcore/nifi/ 我们没有看到 X-ProxyContextPath 作为标头的一部分发送

0 投票
1 回答
364 浏览

kong - 如何在本地安装 Kong 中安装自定义插件

我创建了一个自定义 kong 插件并尝试在本地部署它。尝试使用 Luarocks、Pongo 和手动……但有些人现在能够做到。

分享我在下面遵循的步骤。

命令

日志

kong-check-x-header 1.0-1 depends on lua ~> 5.1 (5.1-1 provided by VM) kong-check-x-header 1.0-1 is now installed in /usr/local/Cellar/openresty@1.19.3.2/1.19.3.2/luarocks (license: Apache 2.0)

命令

日志

命令

日志

已经有好几天了...为此苦苦挣扎...需要一些助手。

GITHUB - https://github.com/jaikratsinghtariyal/kong-check-x-header

评论后更新

命令按以下顺序触发。

  • 庞戈包

日志 -

`

  • pongo 壳
  • luarocks 安装 /kong-plugin/kong-plugin-check-x-header-1.0-1.all.rock

日志:-

  • export KONG_PLUGINS=bundled,kong-plugin-check-x-header (我应该提到 kong-plugin-check-x-header 或 check-x-header ......实际上两者都尝试过,但错误更有希望通过检查-x-标题)
  • kong 迁移引导程序
  • 刚开始

除了工作之外的所有命令kong start

日志 -