在kong环境中出现错误“插件正在使用但未启用”

时间:2017-09-19 10:40:58

标签: 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:在主要块中

我们使用的Kong版本是0.11.0。

有人可以建议我们可以遗漏什么吗?

2 个答案:

答案 0 :(得分:2)

Kong提出此错误是因为您要求它运行名为hello-world的插件,而不提供此插件的代码。

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

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

  1. 该插件必须安装在LUA_PATH(请参阅此处的文档)
  2. 必须将插件名称添加到Kong的custom_plugins设置中才能加载它(来自LUA_PATH
  3. 您可以编辑配置文件以使Kong加载插件:

    custom_plugins = hello-world
    

    或通过环境变量指定它:

    export KONG_CUSTOM_PLUGINS=hello-world
    

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

    $ kong start --vv
    

    您可以在网站的Plugins Development Guide部分详细了解如何安装0.11和自定义插件。

答案 1 :(得分:0)

我通过在 custom_plugins lua_package_path 中添加内容来解决此问题。

以下是在kong Env中启用和使用自定义插件的步骤。

1 - 在--- custom_plugins = hello-world

中添加自定义插件名称

2 - 使用以下步骤---

安装hello-world插件

如果你有插件的源代码,那么进入它并执行命令--- “luarocks make”

它会安装你的插件。

现在你必须执行一个命令“make install-dev”确保你的插件有makefile就像 -

enter image description here

执行此命令“make install-dev”后。它会在类似的位置创建lua文件 -

<强> /你的-插件路径 /lua_modules/share/lua/5.1/kong/plugins/ 您-插件名称 / ?. LUA

只需复制此路径并将其添加到 lua_package_path

中的kong配置文件中

类似的东西 -

<强> lua_package_path = <强> /你的-插件路径 /lua_modules/share/lua/5.1/kong/plugins/ 您-插件名称 / ?. LUA

现在你完成了你的工作。

刚开始kong - kong start --vv

您将看到该插件加载到kong插件环境

@Enjoy