问题标签 [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.
oauth-2.0 - Kong OAuth2 插件客户端凭据流 provision_key 未验证
我已经使用客户端凭据流在 Kong 中配置了 Oauth2 插件。所有端点都可以访问并且按预期工作,除了我可以从 {service}/oauth2/token 端点请求访问令牌而无需在我的发布请求中提供 provision_key。(即使我只发布 grant_type、scope、client_id 和 client_secret 作为参数,它也会返回一个有效的令牌)
我需要在插件配置上启用什么吗?还是以某种方式定义了客户端凭据流(即令牌端点),不需要provision_key?
kong - 如何使用 kong response-transformer 插件删除服务器标头?
我正在尝试通过在无服务器方法中使用以下声明性映射来删除 Server 标头:
但我得到:
我也尝试覆盖该值,但似乎上面的配置缺少一些东西......我做错了什么?
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
spring-boot - 使用服务发现配置 kong api 网关
我有一堆休息服务。我想在前面实现一个kong api网关。我不想进入kong admin api并手动添加所有暴露的api。
我可以借助 eureka 或 consul 等任何服务发现实现来自动将我的 api 配置为 Kong。
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
任何指针都会有所帮助。
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 响应。
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。
这里出了什么问题?
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 的声明性配置格式的示例。所以我需要找出这个功能的正确格式。
已解决:在声明性配置文件中,添加:
这将根据标头和路径匹配路由