本地部署的Kong环境安装自定义插件失败,求解决方案
问题根源
你遇到的两次报错本质是插件命名规则不匹配 + Rockspec文件的文件映射配置错误,按以下步骤修改即可正常部署:
1 修正插件相关命名规则
Kong要求自定义插件的目录名必须和插件注册名完全一致,你当前仓库中插件存放路径为kong/plugins/check-x-header,因此该插件的正式名称就是check-x-header,不需要额外加kong-或kong-plugin-前缀。
2 修正rockspec配置文件
你的rockspec存在两处错误,修改后内容如下:
-- 包名和插件名保持一致 package = "check-x-header" version = "1.0-1" source = { url = "." } dependencies = { "lua ~> 5.1" } build = { type = "builtin", -- 正确配置文件映射,把实际文件路径和Lua加载路径对应 modules = { ["kong.plugins.check-x-header.schema"] = "kong/plugins/check-x-header/schema.lua", ["kong.plugins.check-x-header.handler"] = "kong/plugins/check-x-header/handler.lua" } }
3 重新执行安装流程
修改完成后按顺序执行以下命令:
- 执行
luarocks make,确认无报错输出 - 执行
luarocks pack check-x-header 1.0-1,生成对应rock安装包 - 执行
luarocks install check-x-header-1.0-1.all.rock,完成插件安装
4 配置Kong启动参数
启动Kong前设置环境变量时,直接填写插件实际名称即可:
export KONG_PLUGINS=bundled,check-x-header
之后正常执行kong migrations bootstrap和kong start,即可成功启动加载插件。
如果使用Pongo工具测试,修正配置后直接执行pongo run即可自动完成插件加载,不需要手动安装配置。
内容的提问来源于stack exchange,提问作者Jaikrat
相关产品推荐
相关产品推荐

