Kong 找不到自定义插件
Posted
技术标签:
【中文标题】Kong 找不到自定义插件【英文标题】:Kong is not able to find the custom plugin 【发布时间】:2021-09-12 05:26:26 【问题描述】:我正在尝试在 Kong 中加载自定义插件。我使用luarocks make
安装了插件,它给了我一个输出kong-circuit-breaker 1.0.4-1 is now installed in /usr/local (license: MIT)
。现在,如果我尝试重新启动我的 kong docker 容器,然后重新启动 kong,Kong 会成功运行,但未加载此插件。在被困在这里很长一段时间后,我开始设置我的 Kong 容器的 env 变量 KONG_PLUGINS=bundled,kong-circuit-breaker
,现在 kong 容器每次都无法运行并带有消息 plugin is enabled but not installed
。我什至尝试将我的 kong 容器的LUA_PACKAGE_PATH
环境变量设置为指向我的插件目录但没有用。知道为什么会发生这种情况以及如何在我的 Kong 中成功加载自定义插件吗?
【问题讨论】:
你有没有尝试设置成kng配置lua_package_path = /<path-to-plugin-location>/?.lua;;
?
【参考方案1】:
您不应该在插件名称中添加kong-
。
这应该是:
KONG_PLUGINS=bundled,circuit-breaker
Kong 将查找 kong.plugins.YOURPLUGIN
这就是为什么你不应该把kong-
【讨论】:
感谢@Orel 的提示......至少我已经改变了我的错误。当我说 kong 从 pongo shell 开始时……我看到以下错误……请您在这里提供帮助。错误:/usr/local/share/lua/5.1/kong/cmd/start.lua:75: /usr/local/share/lua/5.1/kong/cmd/start.lua:64: nginx: [error] init_by_lua错误:/usr/local/share/lua/5.1/kong/init.lua:515:加载插件模式时出错:插件'check-x-header'上:check-x-header插件已启用但未安装;没有找到插件 堆栈回溯:[C]:在函数'assert'/usr/local/share/lua/5.1/kong/init.lua:515:在函数'init'中init_by_lua:3:在main块堆栈回溯:[C]:在函数“错误”/usr/local/share/lua/5.1/kong/cmd/start.lua:75:在函数“cmd_exec”/usr/local/share/lua/5.1/ kong/cmd/init.lua:88: 在函数中 /local/share/lua/5.1/kong/cmd/init.lua:88> [C]: 在函数'xpcall' /usr/local/share/ lua/5.1/kong/cmd/init.lua:88: 在函数中 /local/share/lua/5.1/kong/cmd/init.lua:45> /kong/bin/kong:9: 在函数'file_gen' init_worker_by_lua:47: 在函数中<45><52>52>45>
以上是关于Kong 找不到自定义插件的主要内容,如果未能解决你的问题,请参考以下文章
如何将自定义 kong 插件添加到 dockerized kong
Kong API Gateway - 在自定义插件中读取请求正文