我们希望覆盖Kong错误响应结构并编写自定义消息(即用我们的自定义消息替换“超出API速率限制”,“无效身份验证凭据”等)。
我们正在寻找的错误响应结构(代码是自定义内部错误代码,与HTTP代码无关):
{
"errors":[
{
"code": 10,
"message": "This is a custom message for code 10."
}
]
}
除了编写自定义插件之外,我没有看到任何其他可能性。如果这是唯一的解决方案,如何在默认的Kubernetes部署(Helm图表)中安装插件?
答案 0 :(得分:0)
我没有创建自定义插件,而是替换了handler.lua
(或包含错误消息定义的任何文件)。因此,您仍然可以使用原始插件,但是具有自定义逻辑(在您的情况下,意思是自定义消息)。
如果使用官方的Kong Docker映像,则部署自定义插件或替代的最简单方法是将自定义文件放入存储库中,并通过创建一个Dockerfile来构建自己的映像,该Dockerfile扩展原始Kong映像并复制必要的文件到Docker映像中的Kong Plugins文件夹。如果是自定义插件(不仅覆盖),则还必须设置环境变量KONG_PLUGINS=bundled,<customPluginName>
以启用新的自定义插件。