Kong 2.3 正式发布!
条评论原文链接:https://konghq.com/blog/kong-gateway-2-3-released/
嘿,所有的 Kong 用户,你们好! 我们很高兴地宣布我们的旗舰级开源API网关 – Kong Gateway 2.3社区版正式发布!
2.3版本带来了几个令人兴奋的新功能,以及一些重大的安全改进。 正如我们在2.1和2.2版本中所做的那样,我们也发布了企业版2.3网关的Beta版本,同时整合了开源2.3网关的所有功能。你可以在这里了解更多关于Kong Enterprise和它的附加功能。
您可以下载并安装它,并立即开始使用新功能,以下是对新功能的概览!
Kong 支持 UTF8
从2.3版本开始,Kong 开始接受UTF-8字符的路由和服务名称。 我们知道,Kong 的使用者遍布全世界多个国家,能够在本地字符集中支持网关是很重要的。所以,现在,如果想给一个路由使用俄语,日语,中文,或任何数量的其他语言的字符集的名称,你可以使用2.3。 (是的,表情符号现在也可以在路由和服务名称中使用😊)
安全改进
随着 Kong Nation 的不断发展,我们认识到并非所有用户在部署 Kong 实例之前都会阅读所有关于保护 Kong 实例的文档。随着新用户数量的激增,我们希望确保Kong在默认情况下是安全的。Kong 2.3通过一系列的改进,在默认和设计上更加安全。像大多数「默认安全 」状态的变化一样,令人遗憾的是,将会给一些用户带来断裂性的变化,所以请继续阅读,了解如何处理升级以及需要注意的事项。
Kong的 serverless functions 允许管理员定义任意的Lua代码来执行,就像任何无服务器函数一样。因为它们之前是附着在Kong进程上的,所以我们已经警告用户应该保护 Admin 端口的安全。如果你想更加谨慎,可以在配置中禁用插件,以进一步确保Gateway的安全。从2.3开始,我们通过添加 -> 并启用 -> 新的沙箱功能,在产品内部更加谨慎。默认情况下,无服务器功能只允许Kong PDK、OpenResty ngx API和Lua标准库进入沙箱。如果你知道自己在做什么,可以使用几个新的配置控件。
untrusted_lua
可以设置为「关闭」(不允许加载任何不受信任的/管理员提供的Lua代码),「沙箱」(允许,但对Lua代码进行沙箱处理),或 「开启」(允许,但不进行沙箱处理)。默认设置为 「沙箱」,这对新用户来说更加安全。假设你是一个现有的用户,并希望保持旧的行为。在这种情况下,你可以将这个参数设置为 「开启」,但要特别注意确保Gateway的管理员端口不会暴露在潜在的攻击者面前。untrusted_lua_sandbox_requires
可以用来为 Kong 沙盒提供额外的模块。因为这是一个全局设置,所以在添加模块之前要非常小心,因为添加 “io”这样的模块可能会导致沙盒无效。untrusted_lua_sandbox_environment
可以用来为沙盒提供额外的 Lua 变量。
2.3 中的其他安全改进包括,Kong 生成的 SSL 私钥现在默认有 600
个文件系统权限。此外,OpenSSL已经从1.1.1h提升到1.1.1i,以修复该依赖的 CVE-2020-1971。我们已经对网关进行了广泛的审查。虽然这个CVE对核心网关没有直接的可利用性,但我们正在提升版本,以提高任何可能依赖OpenSSL功能的插件的安全性。
新的插件功能
HTTP Log plugin HTTP日志插件已经改进,允许向HTTP请求添加头信息。这将有助于和一些监察、观测系统集成,包括Splunk、Elastic Stack(”ELK”)以及其他系统。
Key Authentication plugin 密钥认证插件有两个新的配置参数:
key_in_header
和key_in_query
。这两个参数都是布尔值,告诉Kong是否接受(true
)或拒绝(false
)在头或查询字符串中传递的信息。两者都默认为true
。Request Size Limiting plugin 请求大小限制插件有一个新的配置参数
require_content_length
,它使插件在读取请求体之前确保存在一个有效的Content-Length
头。
其他更新
Kong 2.3 引入了一些额外的新功能以及修复,包括:
- Kong 2.3现在会检查控制平面和任何数据平面之间的版本兼容性,以确保数据平面和任何插件在混合模式下与控制平面兼容。
- 证书现在有
cert_alt
和key_alt
字段来指定替代证书和密钥对。 - go-pluginserver的stderr和stdout现在写入了Kong的日志,允许Golang的原生
log.Printf()
。 client_max_body_size
和client_body_buffer_size
现在已支持配置了。这两个参数过去是硬编码的,设置为10m。- 自定义插件现在也可以使用新功能,
kong.node.get_hostname
返回Kong节点的主机名,kong.cluster.get_id
返回了一个唯一的全局集群ID(如果在声明式配置中运行,则为nil),kong.log.set_serialize_value()
现在可以用来设置自定义插件中日志序列化的格式。
Kong Nation 以及 线上活动
一如既往,欢迎在我们的社区论坛Kong Nation上提出任何问题。您的反馈让我们能够更好地了解关键任务的使用案例,从而不断改进 Kong。
如果你想了解我们未来开发版本的所有情况,请加入我们每月的线上活动,在这里,Konger们会介绍最新和最棒的东西,并经常会偷偷预览即将推出的好东西。
Happy Konging!
本文标题:Kong 2.3 正式发布!
文章作者:qianyugang
发布时间:2021-01-26
最后更新:2021-01-26
原始链接:https://102no.com/2021/01/26/kong-2.3/
版权声明:本网站发表的全部原创内容(不仅限于文章、图片,包含文章评论),著作权均归其发表者所有,均采用 CC BY-NC-SA 4.0 CN 许可协议。转载请注明作者以及原文链接,商业授权请联系作者。
分享