孔不承认自定义插件已启用。

我正在为 Kong 开发一个自定义插件。

首先,我按照这个教程中列出的指南开始

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

我沿途所做的一些更改是更改 rockspec 文件中的 "lrexlib-pcre" 依赖项版本从 2.8.0-1 到 2.7.2-1,因为我在 2.8.0-1 版本上遇到了编译问题。 请注意,我正在 next 分支上工作。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 插件列为节点中的可用插件。在服务器中显示所有其他内置插件为可用插件

我尝试启用插件与模拟 api。它不像预期的那样工作,并尝试重新启动 kong 会列出错误

nginx: [error] [lua] init_by_lua:5: Startup error: /usr/local/share/lua/5.1/kong.lua:82: You are using a plugin that has not been enabled in the configuration: helloworld [INFO] dnsmasq stopped [ERR] Could not start Kong

我知道在 Kong 0.5 版本中有一些重大变化。我遵循了更改日志,但没有找到任何有用的信息。

我漏掉了某个设置或配置吗?

任何帮助都将不胜感激。

点赞
用户340567
用户340567

尝试在您的 kong.yml 中添加以下内容:

custom_plugins:
  - helloworld
2016-06-11 12:10:31
用户4596399
用户4596399

我通过在 custom_pluginslua_package_path 中添加内容来解决了这个问题。

以下是在 Kong 环境中启用和使用自定义插件的步骤。

  1. custom_plugins 中添加自定义插件名称,如:custom_plugins = hello-world

  2. 通过以下步骤安装 hello-world 插件:

如果您具有插件的源代码,则进入插件目录并执行以下命令 - luarocks make,它将安装插件。

现在您需要执行命令 make install-dev,确保您的插件有类似于下面的Makefile -

enter image description here

一旦您执行了这个命令 make install-dev,它会在以下位置创建 Lua 文件 -

/your-plugin-path/lua_modules/share/lua/5.1/kong/plugins/your-plugin-name/?.lua

只需复制此路径并将其添加到 kong 配置文件的 lua_package_path 中,如下所示 -

lua_package_path=/your-plugin-path/lua_modules/share/lua/5.1/kong/plugins/your-plugin-name/?.lua

现在您完成了工作。

只需启动 Kong - kong start --vv

您将看到插件已加载到 kong 插件环境中。

@Enjoy

2017-09-25 13:41:26