kong

Does Kong support API Aggregation

放肆的年华 提交于 2019-12-04 11:06:40
We are just researching a couple of API gateways, in particular Kong . Looking through their documentation it seems they support request/response transformation. However, if I understand this correctly, this seems limited to headers. Does Kong support API Aggregation like Netflix does it? No, by default one http request into Kong will only match to one upstream url. The Kong request and response transformation plugins handle simple Header, Body and Query String manipulation but Kong doesn't handle API aggregation. Obviously, Kong is very easy to modify via it's own plugin mechanism but

[kong] 使用docker搭建测试环境

隐身守侯 提交于 2019-12-04 08:28:27
安装记录,参考链接 https://hub.docker.com/_/kong/ 这里默认用的是 cassandra https://getkong.org/install/docker/ 然这里默认的是 pg 所以在设置数据库的时候保持一致,我这里用的pg,然后把本地的kong代码挂载到docker里面了(非必要),主要方面看代码时候调试(对于开发环境还是弱了点) docker的宿主环境 macos 10.13 安装pg 首先是安装pg数据库 docker run -d --name kong-database \ - p 5432 : 5432 \ - e "POSTGRES_USER=kong" \ - e "POSTGRES_DB=kong" \ postgres:9.5 同步表结构 删除本地之前的kong版本 docker rmi kong 下载最新的kong 数据库表结构同步 docker run --rm \ - -link kong- database: kong-database \ - e "KONG_DATABASE=postgres" \ - e "KONG_PG_HOST=kong-database" \ - e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \ kong kong migrations up

Using Keycloak behind a reverse proxy: Could not open Admin loginpage because mixed Content

牧云@^-^@ 提交于 2019-12-03 11:42:41
问题 so I have a problem getting keycloak 3.2.1 to work behind kong (0.10.3), a reverse proxy based on nginx. Scenario is: I call keycloak via my gateway-route via https://{gateway}/auth and it shows me the entrypoint with keycloak logo, link to admin console etc. - so far so good. But when clicking on administration console -> calling https://{gateway}/auth/admin/master/console/ , keycloak tries to load its css/js via http (see screenie below), which my browser blocks because mixed content. I

docker安装kong

匿名 (未验证) 提交于 2019-12-03 00:37:01
Create a Docker network You will need to create a custom network to allow the containers todiscover and communicate with each other. In this examplekong-netis thenetwork name, you can use any name. $ docker network create kong-net Start your database If you wish to use a Cassandra container: $ docker run -d --name kong-database --network=kong-net -p 9042:9042 cassandra:3 If you wish to use a PostgreSQL container: $ docker run -d --name kong-database --network=kong-net -p 5432:5432 -e "POSTGRES_USER=kong" -e "POSTGRES_DB=kong" postgres:9.6 Prepare your database Run the migrations with an

微服务之kong+consul(二)

匿名 (未验证) 提交于 2019-12-03 00:34:01
一、kong 1、使用kong来做服务网关,目前kong使用的是0.13版本现在地址:https://docs.konghq.com/install,kong的社区版没有dashboard,可以使用kong-dashboard,项目地址:https://github.com/PGBI/kong-dashboard。方便使用和管理。目前kong还不支持直接代理grpc,nginx-1.13.10以后版本开始支持代理grpc。kong0.13使用的是1.13.6,以后会支持grpc代理。 2、简单安装使用 使用yum安装,设置repo: # cat kong.repo [kong] name=kong baseurl=https://kong.bintray.com/kong-community-edition-rpm/centos/7 gpgcheck=0 enabled=1 @配置kong: PostgreSQL 9.5+ Cassandra 3.x.x 本次使用的是postgresql9.5.需要提前安装,使用yum安装,配置repo: #cat pgdg-95-redhat.repo [pgdg95] name=PostgreSQL 9.5 $releasever - $basearch baseurl=https://download.postgresql.org/pub

使用docker 搭建网关,Mashape API 网关 Kong,安装dashboard,和pgadmin4

匿名 (未验证) 提交于 2019-12-03 00:19:01
【其他docker相关分类】: https://blog.csdn.net/freewebsys/article/category/3103827 本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/71261179 https://www.oschina.net/p/PostgreSQL https://github.com/Kong/kong Kong 是在客户端和(微)服务间转发API通信的API网关,通过插件扩展功能。Kong 有两个主要组件: Kong Server :基于 nginx 的服务器,用来接收 API 请求。 Apache Cassandra 或者 postgres 存储:用来存储操作数据。 你可以通过增加更多 Kong Server 机器对 Kong 服务进行水平扩展,通过前置的负载均衡器向这些机器分发请求。根据文档描述,两个Cassandra节点就足以支撑绝大多数情况,但如果网络非常拥挤,可以考虑适当增加更多节点。 对于开源社区来说,Kong 中最诱人的一个特性是可以通过插件扩展已有功能,这些插件在 API 请求响应循环的生命周期中被执行。插件使用 Lua 编写,而且 Kong 还有如下几个基础功能:HTTP 基本认证、密钥认证、CORS( Cross-origin Resource

通过Kong实现金丝雀发布

匿名 (未验证) 提交于 2019-12-02 23:55:01
金丝雀发布(Canary Releases)的由来 17世纪,英国矿井工人发现,金丝雀对瓦斯这种气体十分敏感。空气中哪怕有极其微量的瓦斯,金丝雀也会停止歌唱;而当瓦斯含量超过一定限度时,虽然人类毫无察觉,金丝雀却早已毒发身亡。当时在采矿设备相对简陋的条件下,工人们每次下井都会带上一只金丝雀作为“瓦斯检测指标”,以便在危险状况下紧急撤离。 Kong的金丝雀发布简述 金丝雀发布又称灰度发布,是指在我们的生产环境中划分出一部分节点为灰度节点,当上新版本的时候,先上灰度环境并且会切换一部分流量过来,当灰度环境的流量都没有问题的时候,就会在整个生产环境上新版本。 我理解的可能有问题,请留言或者进群讨论一下 Kong的金丝雀发布的实现 假设生产环境的状况如下: 创建upstream upstreams / POST { "name" : "xjj.tv.com" } 创建target #灰度版本的target / upstreams / b7208664 - 4c0b - 4c64 - 98a2 - 683594bb1bfd / targets POST { "target" : "172.16.0.92:8899" , "weight" : 0 } #生产版本 / upstreams / b7208664 - 4c0b - 4c64 - 98a2 - 683594bb1bfd /

API网关――Kong实践分享

匿名 (未验证) 提交于 2019-12-02 23:42:01
概述 01 什么是Kong Kong是一个在Nginx中运行的Lua应用程序,可以通过lua-nginx模块实现,Kong不是用这个模块编译Nginx,而是与OpenRestry一起发布,OpenRestry已经包含了lua-nginx-module,OpenRestry是Nginx的一组扩展功能模块。 02 为什么是Kong Kong是一个Api Gateway,通过插件的形式提供负载均衡,日志记录,身份验证,速率限制,转换等功能。 Kong可以很轻松扩展功能,模块化,可以运行在任何基础设施上。 03 术语 Route:是请求的转发规则,按照Hostname和PATH,将请求转发给Service。 Services:是多个Upstream的集合,是Route的转发目标。 Consumer:是API的用户,里面记录用户的一些信息。 Plugin:是插件,plugin可以是全局的,绑定到Service,绑定到Router,绑定到Consumer。 Certificate:是https证书。 Sni:是域名与Certificate的绑定,指定了一个域名对应的https证书。 Upstream:是负载均衡策略。 Target:是最终处理请求的Backend服务。 04 特性 动态负载均衡 基于散列的负载均衡 断路器 健康检查 Websockets OAuth2.0 日志记录 安全性

kong-admin-ui

匿名 (未验证) 提交于 2019-12-02 23:36:01
Kong admin UI Kong 网关的管理界面 纯前端应用,所有请求从浏览器发出,不经过任何中间服务器,直接到达您的Kong admin api,安全、放心。如果您的电脑可以访问互联网(只要您的电脑能访问互联网,且能访问kong admin api,不需要kong admin api可以访问互联网),可直接使用部署在公网的demo,否则请本地化部署。 https demo http demo 特性 基本信息 (配置和状态) Service 管理 Route 管理 Upstream 管理 Consumer 管理 Plugin 管理 授权管理(支持 Basic Authentication, HMAC Authentication, JWT, Key Authentication, OAuth 2.0 Authentication) SSL证书 管理 只支持 0.14.x 及以上版本的kong 从0.3版本开始,支持自定义header,所以,您可以使用kong转发kong admin api接口,再加上Basic Authentication插件和Cors插件,在公网上管理kong更安全 如何使用 如果您的电脑可以访问外网,使用上面部署的demo 下载源码编译,部署到自己的server 下载编译好的包,解压部署到自己的server 使用docker部署 docker run -d

API网关之Kong网关简介

匿名 (未验证) 提交于 2019-12-02 22:56:40
Kong是一款基于OpenResty(Nginx + Lua模块)编写的高可用、易扩展的,由Mashape公司开源的API Gateway项目。Kong是基于NGINX和Apache Cassandra或PostgreSQL构建的,能提供易于使用的RESTful API来操作和配置API管理系统,所以它可以水平扩展多个Kong服务器,通过前置的负载均衡配置把请求均匀地分发到各个Server,来应对大批量的网络请求。 Kong主要有三个组件: Kong dashboard:官方推荐UI管理工具,当然,也可以使用 restfull 方式 管理admin api。 Kong采用插件机制进行功能定制,插件集(可以是0或N个)在API请求响应循环的生命周期中被执行。插件使用Lua编写,目前已有几个基础功能:HTTP基本认证、密钥认证、CORS(Cross-Origin Resource Sharing,跨域资源共享)、TCP、UDP、文件日志、API请求限流、请求转发以及Nginx监控。 Kong网关具有以下的特性: 可扩展性: 通过简单地添加更多的服务器,可以轻松地进行横向扩展,这意味着您的平台可以在一个较低负载的情况下处理任何请求; 模块化: 可以通过添加新的插件进行扩展,这些插件可以通过RESTful Admin API轻松配置; Kong核心基于OpenResty构建,实现了请求