kong

Custom Authentication Service in Kong API Gateway

血红的双手。 提交于 2019-12-20 15:36:00
问题 We are currently analyzing the API gateway for our microservices and Kong is one of the possible candidate. We discovered that Kong support several plugins for authentication but the all based on users stored in Kong database itself. We need to delegate this responsibility to our custom auth HTTP service and don't want to add these users in API gateway database. 回答1: It's possible to do this with some code around, instead of using the OpenID connect plugin; in effect you need to implement an

Kong系列 - 05 - 使用入门

走远了吗. 提交于 2019-12-19 01:04:32
Kong的核心实体概念。 client:指下游客户端。 service:指上游服务。 route:定义匹配客户端请求的规则,每个路由都与一个服务相关联,而服务可能有多个与之相关联的路由。 plugin:它是在代理生命周期中运行的业务逻辑,插件可以生效于全局或者特定的路由和服务。 consumer:消费者表示服务的消费者或者使用者,可能是一个用户,也可能是一个应用。 Kong是一个API网关,其核心能力是代理客户端对上游服务的访问,下面举例说明Kong是如何进行代理服务的。 我们先部署一个echo服务。该服务没有对Kubernetes外暴露端口。如果想从Kubernetes集群之外访问该服务就需要通过Kong网关代理。 vi echo-server-service.yaml apiVersion: v1 kind: Service metadata: labels: app: echo name: echo spec: ports: - port: 8080 name: high protocol: TCP targetPort: 8080 - port: 80 name: low protocol: TCP targetPort: 8080 selector: app: echo --- apiVersion: apps/v1 kind: Deployment metadata:

HDU2015偶数求和

此生再无相见时 提交于 2019-12-18 23:17:51
偶数求和 Problem Description 有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。 Input 输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义如上所述。 Output 对于每组输入数据,输出一个平均值序列,每组输出占一行。 Sample Input 3 2 4 2 Sample Output 3 6 3 7 首先计算等差数列平均值的方法:第一个数的值加上最后一个数的值在除以2; 判断最后不足m个的方法:if(n%m != 0) 计算后面几个数平均值的方法也是第一个数的值加上最后一个数的值在除以2,找到最后剩余几个数的第一个数和最后一个数 # include <stdio.h> int main ( ) { int n , m ; int x , y ; int sum ; int qian , hou ; int kong = 0 ; while ( scanf ( "%d%d" , & n , & m ) != EOF ) { x = 2 ; kong = 0 ; for ( y = 0 ; y < n / m ; y ++ ) { qian = x ; hou = x + 2 * ( m - 1 ) ; sum =

spring boot 项目启动无法访问,排查

扶醉桌前 提交于 2019-12-18 03:24:11
查看docker日志,后台应用正常启动,定时任务正常执行,但是前端无法访问到后端接口,点击提示系统错误,解压出项目二级域名,访问域名,报错:Kong Error,说明Kong路由转发没有绑定项目端口,可是后台正常启动,Tomcat肯定将端口映射出来了,那么这样就可以知道是发布的时候将服务端口绑定错了,排查配置文件,在properties文件中,果然是将端口写错了,在copy配置文件的时候,server.port=8099,copy成了rt=8099,导致没有绑定上端口,Kong无法转发路由 来源: https://www.cnblogs.com/huanghuanghui/p/11126243.html

开源API网关系统:Kong简介

独自空忆成欢 提交于 2019-12-15 14:24:36
Kong 是在客户端和(微)服务间转发API通信的API网关,通过插件扩展功能。Kong 有两个主要组件: 1、Kong Server :基于nginx的服务器,用来接收 API 请求。 2、Apache Cassandra:用来存储操作数据。 你可以通过增加更多 Kong Server 机器对 Kong 服务进行水平扩展,通过前置的负载均衡器向这些机器分发请求。根据文档描述,两个Cassandra节点就足以支撑绝大多数情况,但如果网络非常拥挤,可以考虑适当增加更多节点。 对于开源社区来说,Kong 中最诱人的一个特性是可以通过插件扩展已有功能,这些插件在 API 请求响应循环的生命周期中被执行。插件使用 Lua 编写,而且Kong还有如下几个基础功能:HTTP 基本认证、密钥认证、CORS( Cross-origin Resource Sharing,跨域资源共享)、TCP、UDP、文件日志、API 请求限流、请求转发以及 nginx 监控。 Kong可运行在某些 Linux 发行版、Mac OS X 和 Docker 中,无论是本地机还是云端服务器皆可运行。 除了免费的开源版本,Mashape 还提供了付费的企业版,其中包括技术支持、使用培训服务以及 API 分析插件。 使用Kong前后架构对比 上面简介摘自:http://www.infoq.com/cn/news/2015

Kong 系列 -- Kong 101

半城伤御伤魂 提交于 2019-12-15 09:42:27
随着微服务、开放平台等概念的兴起,实践过程中 API 数量呈现爆发式增长,对外、对内如何治理?网关是针对这一系列疑问的部分回应,才疏学浅,只能留下一些烂笔头。 目前 API 网关实现比较多, Kong 、 Orange 、 Traefik 、 Tyk 、 Istio 等。Kong 就是其中一个开源的 API 网关实现,有社区支持,相对比较活跃,也有商业版本提供给企业客户。最近要在 k8s 中试用 Kong,所以接下来一段时间的博客主要就围绕 Kong 做一些记录。 本篇主要是参照了 官方安装文档 ,在本地安装的笔记。 OS:Ubuntu 19.04 Desktop x64 Kong:1.4.0 Postgresql:11.5 1、安装 Kong Kong 支持很多种安装模式 这里用的 Ubuntu 下手工安装的方式,先下载 deb 包。因官网没有提供 Ubuntu-19.04 的包,所以下载了 Ubuntu-18.04 的 deb 包 ,后面跑起来也没发现有什么问题。 $ sudo apt-get update $ sudo apt-get install openssl libpcre3 procps perl $ sudo dpkg -i <kong-download-path>/kong-1.4.0.bionic.amd64.deb 安装完后,相关目录分别是 /etc

OAuth 2.0 Life cycle of “code” in Authorization code Grant

南楼画角 提交于 2019-12-13 15:20:53
问题 Authorization code Grant : I know the code is short lived token exchanged for the real long-lived access token. I have gone through the Oauth 2.0 but could not find this information so asking here: What is the life cycle of code? Is it for only one-time use? How many times can a code be exchanged to get access token? What happen to a code after access token is given for that code? I am using oAuth 2.0 plugin on Kong API gateway. it is keeping the code alive for a particular time and multiple

Can't access Administration Console page with keycloak behind Kong Ingress Controller

落爺英雄遲暮 提交于 2019-12-13 04:38:56
问题 I have Keycloak behind Kong Ingress Controller. I 'm able to see keycloak welcome page at my {url}/auth/. However, when I click at Administration Console I am redirected to {url}:8443/auth/admin/master/console/ When I click at Administration Console I should be redirect to {url}/auth/admin/master/console/ When I install keycloak (with helm) on minikube exposing the the service as a NodePort service without using ingress and load balancer I'm able to access Administration Console page. I have

Dockererized Kong on windows giving “An invalid response was received from the upstream server”

白昼怎懂夜的黑 提交于 2019-12-12 19:03:18
问题 Please help me as I am getting "An invalid response was received from the upstream server" error on getting the data from REST endpoint using Dockerized Kong. REST service that I am trying to access using Kong is running on my localhost. Kong Request to add API : curl -i -X POST \ --url http://localhost:8001/apis/ \ --data 'name=ping' \ --data 'upstream_url=http://localhost:8080/v1/employee/ping' \ --data 'hosts=localhost' Forward request through Kong : curl -i -X GET \ --url http://localhost

kong配置service和route实现简单API代理

半腔热情 提交于 2019-12-11 18:44:31
目录 通过konga连接kong实现API接口代理 1. ADD NEW SERVICE 2. ADD ROUTE 3. 验证API 代理 浏览器验证 请求kong api kong使用Admin API实现接口代理 通过konga连接kong实现API接口代理 前言 : 之前已经对Kong的API做了学习理解,从本文开始,我们将学习如何使用KONG实现API接口代理。为此,您首先需要添加服务;即Kong用来指代其管理的上游API和微服务的名称。 本文中,我们将创建一个指向 Mockbin API的服务 进行学习测试。 1. ADD NEW SERVICE [SERVICE] : 抽象层面的服务,他可以直接映射到一个物理服务 (host 指向 ip + port),也可以指向一个 upstream 来做到负载均衡。通俗说,这个service就是后台访问接口配置。 导航到 SERVICES 页面并添加 ADD NEW SERVICE 字段说明 : Url 参数是一个简化参数,用于一次性添加protocol,host,port和path。另外不要把 SERVICE 当作后端的具体API,要把它当作一个大的服务,该服务下面有多个API(endpoint or route)。所以创建服务的时候填上该服务的域名就行了。当然也可以是一个带 path 的 Url ,这样每个关联的API (