4

我们正在寻求覆盖 Kong 错误响应结构并编写自定义消息(即用我们的自定义消息替换“API 速率限制超出”、“无效的身份验证凭据”等)。

我们正在寻找的错误响应结构(代码是自定义的内部错误代码,与 HTTP 代码无关):

{
   "errors":[
       {
          "code": 10,
          "message": "This is a custom message for code 10."
       }
   ]
}

除了编写自定义插件之外,我没有看到任何其他可能性。如果这是唯一的解决方案,如何在默认的 Kubernetes 部署(Helm 图表)中安装插件?

4

1 回答 1

0

我没有创建自定义插件,而是替换了handler.lua(或任何包含错误消息定义的文件)。因此,您仍然可以使用原始插件,但使用自定义逻辑(在您的情况下意味着使用自定义消息)。

如果您使用官方 Kong Docker 镜像,部署自定义插件或覆盖的最简单方法是将自定义文件放入存储库并通过创建 Dockerfile 来构建自己的镜像,该 Dockerfile 扩展原始 Kong 镜像并将必要的文件复制到 Kong Docker 映像中的 Plugins 文件夹。如果是自定义插件(不仅是覆盖),您还必须设置一个环境变量KONG_PLUGINS=bundled,<customPluginName>来启用新的自定义插件。

于 2020-05-24T12:09:32.023 回答