lua - kong环境下出现错误 "plugin is in use but not enabled"

标签 lua luarocks 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 [错误] 1#0: init_by_lua 错误:/usr/local/share/lua/5.1/kong.lua:154: hello-world 插件正在使用但未启用 堆栈回溯: [C]:在函数“断言”中 /usr/local/share/lua/5.1/kong.lua:154:在函数“init”中 init_by_lua:3:在主 block 中

我们使用的 Kong 版本是 0.11.0。

有人可以建议我们可能缺少什么吗?

最佳答案

Kong 引发此错误是因为您要求它运行一个名为 hello-world 的插件,而没有提供该插件的代码。

此错误试图说明此插件已配置为在数据存储(PostgreSQL 或 Cassandra)中的 API/Consumer 上运行,但未添加到 Kong 配置 custom_plugins 设置中。

要加载自定义插件,您需要两件事:

  1. 该插件必须安装在 LUA_PATH 中(请参阅此处的文档)
  2. 必须将插件名称添加到 custom_plugins 设置中,以便 Kong 加载它(从 LUA_PATH)

您可以编辑配置文件以使 Kong 加载插件:

custom_plugins = hello-world

或通过环境变量指定:

export KONG_CUSTOM_PLUGINS=hello-world

如果您仍然看到此错误,则可能意味着您没有使用正在编辑的配置文件启动 Kong。以详细模式启动 Kong 以查看它正在读取什么配置文件以及 custom_plugins 的值是什么:

$ kong start --vv

您可以在 Plugins Development Guide 中阅读有关如何安装和自定义 0.11 插件的更多信息。网站的部分。

关于lua - kong环境下出现错误 "plugin is in use but not enabled",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46298340/

相关文章:

string - Lua unicode,使用 string.sub() 和两字节字符

Luarocks 无法编译对象

nginx - Luasocket + nginx 错误 - lua 入口线程中止 : runtime error: attempt to yield across C-call boundary

kong - 匿名用户和经过身份验证的用户具有相同的端点

c++ - Lua 垃圾收集和 C 用户数据

c - lua c 读取嵌套表

c++ - 使用 Lua C API 将现有的 C 变量绑定(bind)到 Lua

Luarock : Copying . make'ing 时将 lua 文件复制到目录

kubernetes - Kong在无数据库模式下重启

NgInx 作为与 Kong 的反向代理