微服务 API 网关 Kong File Log 插件中文文档

原文链接: https://docs.konghq.com/hub/kong-inc/file-log (如有翻译的不准确或错误之处,欢迎留言指出) 将请求和响应数据写入磁盘上的日志文件中。不建议在生产中使用此插件,在生产环境下,最好使用另一个日志插件,例如syslog。由于系统限制,此插件使用阻塞文件i/o,将会损害性能,因此是Kong安装的反面模式。 注意:此插件的功能与0.10.2之前的Kong版本捆绑在一起,与此处记录的不同。 有关详细信息,请参阅CHANGELOG。 配置 在服务上启用插件 通过发出以下请求在服务上配置此插件: $ curl -X POST http://kong:8001/services/{service}/plugins \ –data “name=file……

阅读全文 »

微服务 API 网关 Kong 1.0.0 升级指南

原文地址:https://docs.konghq.com/1.0.x/upgrading/#2-deprecation-notices (不能保证所有的翻译都是准确无误的,所有如有翻译的不准确或错误之处,请一定记得查看原文,并欢迎留言指出)。 注意:以下是1.0.x的升级指南。 如果您要升级到Kong的早期版本,请阅读Kong repo中的UPGRADE.md文件。 本指南将告知您在升级时应了解的重大更改,并指导您完成正确的步骤,以便在不同的升级方案中获得不需要停止服务的迁移。 升级到 1.0.0 此版本(1.0.0) 是Kong的主要版本,包括许多新功能以及重大变化。 这个版本中引入了新的插件架构格式,Admin API 终端的更改,数据库迁移,Nginx配置更改以及已删除的配置属性。 在……

阅读全文 »

你需要好好对待你的牙齿

从去年到今年,断断续续的把自己的牙齿整治了一番,拔掉两颗智齿,洗了两次牙,跟牙科医生交流了很多,了解了很多关于牙齿的知识,结论就是:你的牙齿可以一直使用下去,哪怕你已经七老八十。可能跟请我们大家多数人的印象不太一样,觉得人老了,牙齿就必须掉的七零八落,然而事实是,如果你对自己的牙齿正视起来,并且好好保护它,它将让你七八十岁还能嚼的动爆米花。 整齐的牙齿 如果你发现你的牙齿层次不齐,纵横交错,那么你可能需要注意了,这样的牙齿会极易引发一些牙齿疾病,比如不整齐的牙齿之间容易残留食物残渣,轻则造成口气难闻,重则就容易发生龋齿,以及沉积一些牙结石,牙结石增多的情况下,就会导致牙龈出血,然后诱发牙周炎啊一些乱七八糟的牙齿疾病。而且对于咬合也是有一定影响,会导致牙齿磨损不一。 如果你还是一个青少年,可以……

阅读全文 »

微服务 API 网关 Kong CORS 插件中文文档

原文地址:https://docs.konghq.com/hub/kong-inc/cors/ (不能保证所有的翻译都是准确无误的,所有如有翻译的不准确或错误之处,请一定记得查看原文,并欢迎留言指出)。 通过启用此插件,轻松将跨源资源共享(CORS)添加到 Service, Route 。 配置 在 Service 上启用插件 通过发出以下请求在 Service 上配置此插件: $ curl -X POST http://kong:8001/services/{service}/plugins \ –data “name=cors” \ –data “config.origins=http://mockbin.com” \ –data “config.methods=GET, POST……

阅读全文 »

微服务 API 网关 Kong 插件开发添加自定义配置文件

由于在 Kong 的插件开发中,需要添加一些自定义的配置文件,而且是一些插件公用的配置,但是又不方便都写在插件的 schema.lua 中,那么就考虑引入常规的配置文件,这里以.env文件为例,写一下添加和使用过程。 首先需要了解的是,Kong 的插件使用了一个叫 Classic 的 class 机制。所有的插件都是从 base_plugin.lua 基类上继承而来。base_plugin.lua 定义了插件在各个阶段被执行的方法名:,所以我们就从这里入手,以添加redis配置信息为例。 添加配置文件 进入到插件目录,我这里是/usr/local/share/lua/5.1/kong/plugins,然后新建一个.env文件,写入: REDIS_HOST=127.0.0.1 REDIS_PA……

阅读全文 »

微服务 API 网关 Kong 插件开发套件PDK 中文文档

原文地址:https://docs.konghq.com/1.0.x/pdk/(不能保证所有的翻译都是准确无误的,所有如有翻译的不准确或错误之处,请一定记得查看原文,并欢迎留言指出)。 插件开发工具包 Plugin Development Kit(或“PDK”)是一组Lua函数和变量,插件可以使用这些函数和变量来实现自己的逻辑。PDK是一个语义版本的组件,最初在Kong 0.14.0中发布。PDK将保证从1.0.0版本开始向前兼容。 截至本版本,PDK尚未达到1.0.0,但插件作者已经可以依赖它来使用安全可靠的方式进行请求、响应或者做一些核心组件。 可以从kong全局变量访问插件开发工具包,并在此表下命名各种功能,例如kong.request,kong.log等… kong.ve……

阅读全文 »

微服务 API 网关 Kong 配置文件中文详解

原文地址:https://docs.konghq.com/1.0.x/configuration/ (不能保证所有的翻译都是准确无误的,所有如有翻译的不准确或错误之处,请一定记得查看原文,并欢迎留言指出)。 配置加载 如果您通过官方软件包安装Kong,则可以在/etc/kong/kong.conf.default找到默认配置文件。 要开始配置Kong,您可以复制此配置文件文件: $ cp /etc/kong/kong.conf.default /etc/kong/kong.conf 如果您的配置文件中的所有值都被注释掉,Kong将使用默认设置运行。 启动时,Kong会自动查找可能包含配置文件的多个默认位置: /etc/kong/kong.conf /etc/kong.conf 您可以通过使用……

阅读全文 »

微服务 API 网关 Kong Route 中文文档

原文地址:https://docs.konghq.com/1.0.x/admin-api/#route-object (不能保证所有的翻译都是准确无误的,所有如有翻译的不准确或错误之处,请一定记得查看原文,并欢迎留言指出)。 route 路由 路由实体定义规则以匹配客户端请求。每个Route与一个服务相关联,一个服务可能有多个与之关联的路由。匹配给定路由的每个请求都将代理到其关联的服务。 Routes 和 Services 的组合(以及它们之间的关注点分离)提供了一种强大的路由机制,通过它可以在 Kong 中定义细粒度的入口点,从而导致基础架构的不同上游服务。 { “id”: “173a6cee-90d1-40a7-89cf-0329eca780a6″, “created_at”: 1422……

阅读全文 »

微服务 API 网关 Kong Service 中文文档

原文地址:https://docs.konghq.com/1.0.x/admin-api/#service-object (不能保证所有的翻译都是准确无误的,所有如有翻译的不准确或错误之处,请一定记得查看原文,并欢迎留言指出)。 Service 服务 顾名思义,服务实体是每个上游服务的抽象。举个例子,services 可以是一个数据转换微服务,一个计费api等等。 Service 的主要属性是其URL(Kong应该将流量代理到的地方),可以设置为单个字符串,也可以单独指定其protocol, host, port 和 path。 Service 与 router 相关联(一个 Service 可以有许多与之关联的 router)。router 是Kong的入口点,并定义匹配客户端请求的规则。……

阅读全文 »

微服务 API 网关 Kong 1.0 GA 版本正式发布(更新详情)

原文地址:https://github.com/Kong/kong/blob/master/CHANGELOG.md#100 ,(如有翻译的不准确或错误之处,欢迎留言指出) 这个是一个非常重要的版本,引入了对Service Mesh和Stream Routing支持的新功能,以及新的迁移框架,它还包括插件开发工具包(Plugin Development Kit)的1.0.0版本,它包含大量其他功能和修复,如下所示。此外,Kong 1.0中包含的所有插件都更新为使用PDK 1.0版。 像往常一样,主要版本升级需要数据库迁移和Nginx配置文件的更改(如果您自定义了默认模板),在计划升级Kong集群之前,请花几分钟时间阅读1.0升级指南,了解有关更改和迁移的更多详细信息。 作为主要版本,在Kon……

阅读全文 »

Openresty 第三方库 Lua_resty_http 使用教程

lua_resty_http是一个第三方 openresty 库,基于 Openresty/ngx_lua 的HTTP客户端,支持POST方法上传数据,刚好项目中用到需要从网关中发起请求,于是就用到这个库,把使用方式在这里分享一下。 安装第三方库lua_resty_http 第一步 首先找到项目地址:https://github.com/pintsized/lua-resty-http 第二步 然后将 lua-resty-http/lib/resty/ 目录下的 http.lua 和 http_headers.lua 两个文件拷贝到 /usr/local/openresty/lualib/resty 目录下即可,OpenResty 安装目录为 /usr/local/openresty)。不需……

阅读全文 »

微服务 API 网关 Kong JWT插件中文文档

原文链接: https://docs.konghq.com/hub/kong-inc/jwt/ (如有翻译的不准确或错误之处,欢迎留言指出) 验证包含HS256或RS256签名JSON Web令牌的请求(如RFC 7519中所述)。每个消费者都将拥有JWT凭证(公钥和密钥),这些凭证必须用于签署其JWT。然后可以通过令牌传递如下: 查询字符串参数 一个cookie 或者带有 Authorization 的头 如果验证了令牌的签名,Kong会将请求代理到您的上游服务,否则将丢弃该请求。Kong还可以对RFC 7519(exp和nbf)的一些注册声明进行验证。 相关术语 plugin:在请求被代理到上游API之前或之后,在Kong内部执行操作的插件 Service:表示外部上游API或微服务的K……

阅读全文 »