gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 18:19:10 25 4
gpt4 key购买 nike

我有一个用于 Kong 的自定义插件,它在 Kong v0.14.1 上运行良好,但是在我升级到 v.1.0.2 后,它抛出了一个错误。

使用的操作系统:macOS Mojave

kong.conf 文件我有这个代码:

log_level = debug
plugins=my-custom-plugin

我尝试使用以下命令启动 Kong:
kong start -c kong.conf

我收到这个错误:

Error: /usr/local/share/lua/5.1/kong/cmd/start.lua:50: nginx: [error] init_by_lua
error: /usr/local/share/lua/5.1/kong/init.lua:344: my-custom-plugin plugin is enabled but not installed;
module 'kong.plugins.my-custom-plugin.handler' not found:No LuaRocks module found for kong.plugins.my-custom-plugin.handler
no field package.preload['kong.plugins.my-custom-plugin.handler']
no file './kong/plugins/kong-my-custom-plugin/handler.lua'...



我使用以下命令安装了插件:
luarocks make

这给出了以下输出:
my-custom-plugin 1.0-1 is now installed in /usr/local/opt/kong (license: MIT)

不知何故,Kong 似乎无法找到我安装的自定义插件。知道为什么会这样吗?

最佳答案

@user5377037 的回答包含大部分相关细节,我只想提一下,从 Kong 0.14.x 开始,“custom_plugins”现在只是“plugins”。

进行此更改的原因之一是您现在可以使用这个新变量名称来选择加载或不加载与 Kong 捆绑的插件——对某些人来说这是一个有用的功能。但是,如果您想加载自定义插件和捆绑插件,您现在必须指定 bundled关键字表示您希望保持加载的捆绑插件。

0.14.x 之前的版本

实际效果是在 Kong < 0.14.x 中:

custom_plugins = plugin1,plugin2

或者
KONG_CUSTOM_PLUGINS=<plugin-name>

发布 0.14.x

在 Kong >= 0.14.x 中,你现在写:
plugins = bundled,plugin1,plugin2

或者
KONG_PLUGINS=bundled,<plugin-name>

如果您不使用 bundled
如果不添加 bundled关键字,您可能会遇到这样的错误:
nginx: [error] init_by_lua error: /usr/local/share/lua/5.1/kong/init.lua:292: key-auth plugin is in use but not enabled
stack traceback:
[C]: in function 'assert'
/usr/local/share/lua/5.1/kong/init.lua:292: in function 'init'
init_by_lua:3: in main chunk

这意味着您已将代理设置为使用某个插件,但现在您没有在启动时加载该插件,因此 Kong 不知道该做什么并退出。本质上,您只会加载一个可能不是您想要的自定义插件。

lua_package_path

关于 lua_package_path的注意事项和 KONG_LUA_PACKAGE_PATH与 user5377037 的帖子保持一致。

引用
  • Upgrade Documentation
  • Configuration Reference
  • 关于lua - Kong v1.0.2的自定义插件已启用但未安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54308514/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com