【发布时间】:2015-10-30 11:42:00
【问题描述】:
我正在为 Kong 开发一个自定义插件。
首先我遵循本教程中列出的指南
http://streamdata.io/blog/developing-an-helloworld-kong-plugin/
由于我在 2.8.0-1 中遇到的编译问题,我在此过程中所做的一些更改是将“lrexlib-pcre”的 rockspec 文件中的依赖关系从版本 2.8.0-1 更改为 2.7.2-1版本。 请注意,我在下一个分支工作。 master 分支列出了 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"] = "kong/plugins/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:[错误] [lua] init_by_lua:5:启动错误: /usr/local/share/lua/5.1/kong.lua:82:您使用的插件具有 未在配置中启用:helloworld [INFO] dnsmasq 已停止 [ERR] 无法启动 Kong
我知道 Kong 0.5 版中引入了一些重大更改。我关注了更新日志,但没有发现任何有用的信息。
我是否缺少在某处设置配置?
任何帮助将不胜感激。
【问题讨论】:
-
官方插件开发指南现已发布:getkong.org/docs/0.5.x/plugin-development 值得对照您正在做的事情进行检查,以防遗漏某些内容
-
嗨,你已经解决了这个问题吗?我一直在玩 Kong 和 custom 插件,它们有点棘手。我有几次你的问题,但那是因为我修改了错误的 kong.yml。通常,当您从 rpm 安装 Kong 时,conf 文件位于 /etc/kong/kong.yml 中,但如果您在运行“make start”时在本地开发,它将使用 kong_DEVELOPMENT.yml。如果你运行“bin/kong start”,它会在你的工作目录中使用 kong.yml。确保您正在编辑正确的(或只是编辑所有)
-
我刚刚遇到了完全相同的问题,请确保您更改 /etc/kong/kong.yml !
标签: nginx plugins lua mashape kong