Kong拒绝将自定义插件识别为已启用

时间:2015-10-30 11:42:00

标签: nginx plugins lua mashape kong

我正在为Kong开发一个Custom插件。

首先,我遵循本教程中列出的指南

http://streamdata.io/blog/developing-an-helloworld-kong-plugin/

由于我遇到的编译问题2.8.0-1,我在此过程中所做的一些更改是将“lrexlib-pcre”的版本从2.5.0-1版更改为2.7.2-1。版。 请注意,我在下一个分支机构工作。主分支已列出版本2.7.2-1。

本教程假设Kong版本为0.4.2-1,而我正在使用Kong版本0.5.2-1。

我在kong.yml中列出了我的插件。最后列出的是helloworld插件

    plugins_available:
  - ssl
  - jwt
  - acl
  - cors
  - oauth2
  - tcp-log
  - udp-log
  - file-log
  - http-log
  - key-auth
  - hmac-auth
  - basic-auth
  - ip-restriction
  - mashape-analytics
  - request-transformer
  - response-transformer
  - request-size-limiting
  - rate-limiting
  - response-ratelimiting
  - helloworld

我最后在rockspec文件中列出了helloworld文件。

  

[“kong.plugins.helloworld.handler”] =   “香港/插件/的HelloWorld / handler.lua”       [“kong.plugins.helloworld.access”] =“kong / plugins / helloworld / access.lua”,       [“kong.plugins.helloworld.schema”] =“kong / plugins / helloworld / schema.lua”

编译成功但kong拒绝列出节点中可用的helloworld插件。所有其他内置插件在服务器中显示为

我尝试使用mock api启用插件。它没有按预期工作并尝试重新启动kong列表错误

  

nginx:[error] [lua] init_by_lua:5:启动错误:   /usr/local/share/lua/5.1/kong.lua:82:你正在使用一个插件   未在配置中启用:helloworld [INFO] dnsmasq   停止[ERR]无法启动Kong

我知道在0.5版本中引入了一些重大变化。我按照更改日志,但我发现没有任何帮助。

我错过了某处设置配置吗?

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:0)

kong.yml中尝试以下内容:

custom_plugins:
  - helloworld

答案 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 /共享/ LUA / 5.1 /香港/插件/你的-插件名称/ ?. LUA

现在你完成了你的工作。

刚开始kong - kong start --vv

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

<强> @Enjoy