问题标签 [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 回答
690 浏览

oauth-2.0 - Kong OAuth2 插件客户端凭据流 provision_key 未验证

我已经使用客户端凭据流在 Kong 中配置了 Oauth2 插件。所有端点都可以访问并且按预期工作,除了我可以从 {service}/oauth2/token 端点请求访问令牌而无需在我的发布请求中提供 provision_key。(即使我只发布 grant_type、scope、client_id 和 client_secret 作为参数,它也会返回一个有效的令牌)

我需要在插件配置上启用什么吗?还是以某种方式定义了客户端凭据流(即令牌端点),不需要provision_key?

0 投票
0 回答
283 浏览

angular - 如何从浏览器向 kong getway 上的 api 发出请求

我在KONG上配置了服务/路由,没有任何主机名和路径。我能够从浏览器(我的网络应用程序)发出 GET 请求,但是每当从浏览器(网络应用程序)进行POST、PUT、DELETE调用时,都会遇到CORS(跨源资源共享)问题。但我可以从postman进行测试。

我在路由上启用了 CORS 插件,但没有运气。这是我在 Kong Admin 上的服务和路由配置。 在此处输入图像描述

路线配置: 在此处输入图像描述

路由上的 CORS 插件配置: 在此处输入图像描述

0 投票
3 回答
2379 浏览

kong - 如何使用 kong response-transformer 插件删除服务器标头?

我正在尝试通过在无服务器方法中使用以下声明性映射来删除 Server 标头:

但我得到:

我也尝试覆盖该值,但似乎上面的配置缺少一些东西......我做错了什么?

0 投票
1 回答
463 浏览

kong - 为什么Kong在请求时需要标头主机?

我不明白为什么 Kong 需要host = userApi.test在被要求Headers
时加入GET localhost:8000/api/v1/test

有没有什么方法可以Headers在请求时不包括在内?

例如,我使用 Angular 通过 Kong 请求 API,我总是需要包含host?

在此处输入图像描述

0 投票
2 回答
895 浏览

nginx - Kong API gateway Oauth2 grant_type=password invalid_client 错误,无论我更改什么

我一直在本地设置 Kong 并测试不同类型的设置。目前,我有 kong 在 docker-compose 内运行,可以访问发出请求的网关。传入这些环境变量

我正在尝试使用grant_type=password. 我不断收到invalid_client错误,日志中没有任何内容可以真正告诉我发生了什么。我试过跟随https://github.com/Kong/kong/issues/2446没有任何运气,即使删除client_id不起作用。似乎没有任何其他信息表明发生了什么。我已经添加trusted_ips到环境中,这样我就不会在 ssl 上运行它,如果你没有给出Must use https. 我做错了什么来完成这项工作?这似乎是最简单的实现,但它不喜欢任何东西。

为后端 API 路由添加服务

http POST http://kong.me.io:8001/services name=me.io.apis host=api.me.io port:=5000

为后端 API 路径创建路由

http POST http://kong.me.io:8001/services/6f12367c-d92b-4334-a654-8f2d706b70e6/routes hosts:='["api.me.io"]' paths:='["/apis"]'

在后端路由上创建 Oauth 插件

http POST http://kong.me.io:8001/services/6f12367c-d92b-4334-a654-8f2d706b70e6/plugins name=oauth2 config:='{"enable_password_grant": true, "accept_http_if_already_terminated": true}'

创建一个消费者来测试

http POST http://kong.me.io:8001/consumers username=me@me.com custom_id=5b6215eed6814902e4d53d24

向测试消费者添加客户端 ID

http POST http://kong.me.io:8001/consumers/f1b5fb00-df6e-4089-b4b8-639ceb4e6a80/oauth2 name='me@me.com'

测试您是否可以从 kong 取回密钥

http POST http://api.me.io:8080/apis/oauth2/token "x-forwarded-proto: https" authenticated_userid="5b6215eed6814902e4d53d24" client_id="03N4ehIbe44hYhnjGwO8hfW8jTHnxLSL" client_secret="nfW39yTNiDEVShtVIHovjC1aXm1VlxPd" grant_type=password provision_key="uijq0y4dBFZITqirZ9QJr18DeHjaMpXS" username="me@me.com" password="password" -vv

0 投票
1 回答
837 浏览

spring-boot - 使用服务发现配置 kong api 网关

我有一堆休息服务。我想在前面实现一个kong api网关。我不想进入kong admin api并手动添加所有暴露的api。

我可以借助 eureka 或 consul 等任何服务发现实现来自动将我的 api 配置为 Kong。

0 投票
0 回答
63 浏览

kong - config.duration 未在 KONG 的 Canary 发布插件中应用

我正在尝试在 Kong 中配置 Canary 发布插件。

该插件在config.start参数中提供的纪元时间被激活。但是以秒为单位提供的config.duration不起作用,并且请求继续被路由到上游服务。

示例配置:: { "steps": null, "upstream_port": , "upstream_uri": "/test-uri", "upstream_fallback": false, "start": 1582109400, "groups": null, "percentage": null ,“持续时间”:60,“哈希”:“无”,“upstream_host”:“”}

我已经在服务上配置了这个插件。跑岗 V1.3

任何指针都会有所帮助。

0 投票
0 回答
496 浏览

aws-lambda - 使用 Kong AWS Lambda 插件进行请求身份验证

在 Kong 中是否可以重用 AWS Lambda 插件来进行身份验证。

我已按照此文档https://docs.konghq.com/hub/kong-inc/aws-lambda/设置 Lambda。我有一个测试 AWS Lambda 函数,它只返回下面的示例响应。

目前 Kong 只返回 Lambda 响应,但有没有办法可以将其用于身份验证?例如,当请求进入 Kong 时,会调用 AWS Lambda 以确定用户是否经过身份验证。如果它们通过身份验证,则请求继续,否则返回 401 响应。

0 投票
0 回答
134 浏览

docker - 尝试安装外部插件时出现“docker:无效的参考格式”

我的目标很简单:为 Kong 加载一个 hello-world 外部插件。我决定通过挂载的卷来执行此操作,但遇到了严重的问题,使我无法运行我的简单 hello-world 外部插件。

我从头开始将我的问题隔离到以下命令:

在我的本地目录中,我的插件源代码位于 ./kong/plugins/helloworld/

根据Kong docs,我正在通过在要调整的项目之前添加“KONG_”来调整我的Kong 配置文件。这意味着我有KONG_CUMSTOM_PLUGINS=helloworld并且KONG_LUA_PACKAGE_PATH=/plugins/?.lua

Docker 和 Kong 不喜欢这样,在运行上述命令时,我会看到以下内容:

逐一消除事物,问题围绕着 the-e "KONG_CUSTON_PLUGINS=helloworld"-e "KONG_LUA_PACKAGE_PATH=/plugins/?.lua" \bits。

这里出了什么问题?

0 投票
0 回答
1754 浏览

kong - 如何在无 DB 的 Kong 中按标头路由

我正在使用没有数据库的 Kong,我需要根据请求标头路由请求:x-forwarded-host.

我指的是文档:https ://docs.konghq.com/hub/kong-inc/route-by-header/

但它没有提供“无数据库”版本的示例。

然后我注意到 route-by-header 不在https://docs.konghq.com/1.4.x/db-less-and-declarative-config/的兼容插件列表中

所以我的问题是:

  • DB-less Kong 是否支持 route-by-header 插件?
  • 有没有办法在无 DB 的 Kong 中通过请求标头进行路由?

更新:

  • 刚刚发现 route-by-header 插件可能与 DB-less Kong 不兼容,并且仅用于企业订阅。
  • 从 Kong 1.3 开始,添加了一项功能,允许在 Routes 定义中按请求标头进行路由 https://docs.konghq.com/1.3.x/proxy/#request-header
  • 但它没有提供 DB-less Kong 的声明性配置格式的示例。所以我需要找出这个功能的正确格式。

已解决:在声明性配置文件中,添加:

这将根据标头和路径匹配路由