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>

以上是关于Kong 找不到自定义插件的主要内容,如果未能解决你的问题,请参考以下文章

如何将自定义 kong 插件添加到 dockerized kong

如何在本地安装 Kong 中安装自定义插件

Kong API Gateway - 在自定义插件中读取请求正文

Kong v1.0.2 的自定义插件已启用但未安装

11.Kong入门与实战 基于Nginx和OpenResty的云原生微服务网关 --- 自定义插件

使用自定义cordova插件找不到类异常