问题标签 [kong]
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.
nginx - 如何在 kong 插件中使用 ngx.location.capture() 和 proxy_pass?
我目前正在编写一个 Kong 插件。当我收到带有令牌的请求时,我想请求外部服务来验证令牌。我读到您可以使用 location_capture 和 proxy_pass 来执行外部 HTTP 请求。
我不确定该怎么做。我放了
location = /reqbin {
proxy_pass https://requestb.in/yn3pykyn;
}
在 nginx_kong.lua 文件中。那是它应该去的地方吗?
在我的插件代码中,我有:
但是当我使用 curl 请求 Kong 时,请求直接到达了 upstream_url,我可以看出我的 requestbin 没有被命中。我究竟做错了什么?
编辑:另外,当前的资源有:
状态:500
身体:无
标头:内容类型:text/plain,服务器:kong/0.10.3
截断:真
centos7 - 将 kong api 日志记录到 syslog
我使用 kong api 网关提供的 syslog 插件,我有以下内容:
我使用centos7,并且我有以下conf文件(/etc/rsyslog.conf)
Syslog 守护程序在 centos 7 机器上运行,它的日志级别严重性(信息)配置为等于或低于设置的 config.log_level(emerg)。
我无法看到任何登录
/var/log/消息
postgresql - 为什么将 Cassandra 用于 Kong Api 网关
Kong 使用 Cassandra 或 Postgres。Cassandra 以写繁重的应用程序而闻名。我没有看到 Kong api 网关有那么多写重,也没有一个表使用 Cassandra 的重要功能分区键之一。我的疑问是为什么将 Cassandra 用于 Kong,有什么具体原因吗?我们不能使用 RDBMS 来实现这一点。
authentication - Kong API 网关中的自定义身份验证服务
我们目前正在为我们的微服务分析 API 网关,而 Kong 是可能的候选者之一。我们发现 Kong 支持多个身份验证插件,但所有插件都基于存储在 Kong 数据库本身中的用户。我们需要将此责任委托给我们的自定义身份验证 HTTP 服务,并且不想将这些用户添加到 API 网关数据库中。
lua - Kong API 网关 v0.11.0 upstream_url
我们正在尝试设置一个依赖于请求标头的插件,将其代理到特定主机。前任。
在早期版本(< v0.11.0)中,以下代码有效(这是我们插件的 access.lua 文件):
这是因为ngx.ctx.upstream_url覆盖了 proxy_pass 行为。
由于我们想在 k8s 环境中使用它,我们不得不使用 0.11.0 版本,因为他们已经修复了一些关于 dns 的问题。问题似乎是他们通过 ngx.var.upstream_uri 更改了 ngx.ctx.upstream_url,但行为不一样,它不会更改主机来代理我们的请求。这是我们得到的错误:
有没有人有同样的问题?我们的问题还有其他解决方案吗?
非常感谢您提前。
api - 使用带有 KONG API 网关的 cookie 进行 JWT 身份验证
我们正在使用带有 JWT 身份验证插件的 Kong API 网关实现示例应用程序。
正如在这个线程中提到的,有两种方法可以在浏览器中存储 JWT。网络存储或 cookie。但是网络存储(即会话存储和本地存储)很容易受到跨站脚本攻击(XSS)的攻击。所以其他选择是cookie。(虽然应该注意 CSRF)
我有两个问题,
如果我们使用Web 存储来存储 JWT,那么有什么方法可以阻止 XSS。如果是,那么如果在新选项卡中打开同一页面或重新加载同一页面,它将如何工作?
使用 cookie:我们能够在请求中发送 cookie。但是,只有在标头( )上设置
Authorisation: Bearer token
了 JWT并且不使用 cookie 进行身份验证时,KONG 才会对端点 URL进行身份验证。有什么方法可以验证使用 KONG API Gateway 在 cookie 中设置的 JWT 吗?
lua - 在kong环境中出现错误“插件正在使用但未启用”
我们正在尝试使用此页面中描述的 hello-world 插件 - https://streamdata.io/blog/developing-an-helloworld-kong-plugin/
我们也试过这个 - https://github.com/brndmg/kong-plugin-hello-world
我们在日志中遇到了这个错误:2017/09/19 09:47:15 [error] 1#0: init_by_lua error: /usr/local/share/lua/5.1/kong.lua:154: hello-world plugin is正在使用但未启用堆栈回溯:[C]:在函数'assert'/usr/local/share/lua/5.1/kong.lua:154:在函数'init'中init_by_lua:3:在主块中
我们使用的 Kong 版本是 0.11.0。
有人可以建议我们可能缺少什么吗?
kong - 香港 API 网关
我们目前正在研究kong API网关。
我们知道 Kongs API 身份验证和所有其他事情。我们不知道如何在 php 中实现它。
我们如何从数据库中插入和检索数据并通过 Kong API 网关返回。
如果您有任何演示而不是提供给我们,那么我们很容易理解。
api - 使用公共微服务对 API 网关 (Kong) 进行身份验证
我们有一个可通过 Internet 公开访问的 Web 应用程序。此应用程序在包含应用程序可以调用的单片 API 集(包括用户身份验证)的 Web 服务器上运行。我们希望为用户公开一个“API”(例如//收集数据),以便从他们自己的代码中查询有关其帐户的一组有限数据。这将允许他们使用我们为他们收集的数据编写自定义仪表板。
有了这个新的 API,API 调用现在可以来自我们的 web-ap 以外的其他地方。所以我们要设置一个 API 网关来管理请求“负载”。例如,网关可以将用户的请求限制为每十分钟一次。
最终用户将获得一个 API 密钥以通过 Kong 发出请求,然后 Kong 将使用 HTTP GET/POST 对 Web 服务器执行 API 查询。由于我们的网络服务器是公开可用的,我们需要一种方法来验证对 API(收集数据)的请求是否仅来自 Kong。我对 JWT 进行了一些研究,似乎是一种可能的方法。简单地为 Kong 服务器提供由 Web 服务器发布的自己的 JWT 是否有意义?然后任何对没有 Kong JWT 的 Web 服务器的 GET/POST 都会被拒绝。
我知道这可能不是 API 网关最合乎逻辑的设置,通常你会在与 Kong 相同的私有网络上拥有微服务,并且不需要像 Kong 那样验证传入请求的真实性处理那个。但是,鉴于我们当前的设置,JWT 方法最有意义吗?
kong - Kong API 网关 PHP
我们目前正在研究kong API网关。我们知道 kongs API 身份验证和所有其他事情。我们不知道如何在 php 中实现它。我们如何从数据库中插入和检索数据并通过 kong API 返回。如果您有任何演示而不是提供给我们。所以我们很容易理解。
提前致谢。