我正在为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版本中引入了一些重大变化。我按照更改日志,但我发现没有任何帮助。
我错过了某处设置配置吗?
任何帮助都将不胜感激。
答案 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就像 -
执行此命令“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 强>