转载地址:
kong postgresql konga的安装:https://www.it610.com/article/1306459594041626624.htm
konga的services、basic auth: https://blog.csdn.net/h22407/article/details/119795270
konga的jwt: https://www.manongdao.com/article-1688966.html
前言:kong默认开放的端口
接受客户端流量的端口,proxy部分
- :8000 http端口
- :8443 https端口
admin API 端口 admin部分
- :8001 http端口
- :8444 https端口
kong postgresql konga安装配置使用
- postgresql安装配置
- docker部署postgres(9.6)
-
- 一、安装:
- 二、启动:
- 三、测试:
- kong安装配置
-
-
- 1.安装之前先保证如下软件安装
- 2.安装kong
- 3.配置kong连接数据库postgres
- 4.kong停止和启动服务
-
- konga安装配置
-
-
- 1.更新ubuntu的apt源索引:
- 2.创建docker网络连接
- 3.docker方式安装
- 4.初始化postgresql数据
- 5.启动konga
- 6.负载均衡测试服务代理
-
- konga的基本使用配置
-
-
- 1.创建用户
- 2.分布式管理kong
- 3.快照信息
-
- konga配置服务
-
-
- 1.创建一个upstream
- 2.指定一个target(代理服务)
- 3.创建一个服务(service)
- 4.创建一个路由
-
- * 添加服务限流rate-limiting插件
- * 添加ip黑白名单ip-restriction插件
- * konga bot-detection插件使用
- * 请求体限制request size limiting
- * 配置lua脚本拦截请求处理(Pre)
- 以下安装环境版本postgresql9.5,kong2.0.4,konga0.14.7(建议使用)
postgresql安装配置
docker部署postgres(9.6)
一、安装:
docker pull postgres:9.6
二、启动:
docker run -d --name postgres \
-p 5432:5432 \
-e "POSTGRES_USER=kong_user" \
-e "POSTGRES_DB=kong_db" \
-e "POSTGRES_PASSWORD=123456" \
postgres:9.6
–name,指定创建的容器的名字;
-e POSTGRES_PASSWORD=password,设置环境变量,指定数据库的登录口令为password;
-p 5432:5432,端口映射将容器的5432端口映射到外部机器的5432端口;
-d postgres:9.6,指定使用postgres:9.6作为镜像。
三、测试:
kong安装配置
kong安装官方网址
1.安装之前先保证如下软件安装
sudo apt-get install netcat openssl libpcre3 dnsmasq procps
2.安装kong
可以在官方网址下载最新的kong的deb安装包我使用的是当前最新版本,然后执行命令
sudo dpkg -i kong-2.0.4.xenial.amd64.deb
3.配置kong连接数据库postgres
因为kong的配置相对简单,我这里只是简单的配置了数据库.
sudo vim /etc/kong/kong.conf
数据库准备
按照上述postgresql安装,已经准备好存储,现在需要执行kong migrations来初始化数据库表
kong migrations bootstrap ##高版本使用
这里我没有指定配置文件,使用的都是kong默认的配置,也可以指定自定义配置文件
#kong.conf的路径,默认是/etc/kong/kong.conf
kong migrations bootstrap [-c /path/to/kong.conf] ## kong配置文件地址
4.kong停止和启动服务
sudo kong stop
sudo kong start
测试kong是否启动
curl -i -X GET --url http://192.168.0.198:8001
konga安装配置
1.更新ubuntu的apt源索引:
sudo apt-get update
2.创建docker网络连接
docker network create kong-net
3.docker方式安装
拉取konga最新的镜像
docker pull pantsel/konga:latest
4.初始化postgresql数据
docker run --rm pantsel/konga:latest -c prepare -a postgres -u postgresql://kong_user:123456@ip:5432/kong_db
命令行中的kong_user是postgres创建的用户和密码123456可以替换为你自己的
ip是postgres数据库的ip地址5432端口kong_db是上面创建的数据库
以上解释都可以自行定义
5.启动konga
docker run -p 1337:1337 \
--network kong-net \
--name konga \
-e "NODE_ENV=production" \
-e "DB_ADAPTER=postgres" \
-e "DB_URI=postgresql://kong_user:123456@ip:5432/kong_db" \
pantsel/konga
最后访问ip:1337就可以访问kong的管理UI了
第二大部分:关于konga的使用
首先要设置一个可以使用的服务器(地址有效)
然后对应填写好相应的数据
添加一个路由
配置路由
提交:
如果提交不成功,就看是不是输入完路径以后没有按回车
然后就可以看到这个地方多了一个路由接口了
访问地址
此时,我们去访问
http://192.168.65.136:8000/xiaohei
显示成功
如何添加basic auth 验证
选择basic auth 验证
这里什么都不写,直接添加就行
这时我们需要添加一个消费者
在弹出的窗口中选择 Credentials
输入你的用户名和密码
我这里就填写xh:xh 因为之前的xiaohei:xiaohei 已经创建过了
所以我会报错,如果你的也报错,可能是你之前创建了一个相同的消费者名称
这样我们就建立成功了,
当我们再次点击进入之后,就可以看到我们刚刚输入的密码已经从明文变成了密文
访问地址验证
然后再次访问刚刚的地址
就会看到下面的页面
这是因为我们在发送请求的时候没有传入一个验证信息
就是账户名和密码
我们需要添加一个验证信息
我这里填写xh:xh 是因为之前的xiaohei:xiaohei 已经创建过了
再次验证
就可以看到,我们又一次访问成功了
konga--添加jwt插件详细步骤
注意:添加jwt插件前,先实现接口正常访问
给kong添加插件,主要是实现对访问接口限制。可针对所有consumer,或者某个consumer
步骤如下:
1.配置完成的service和route
参照 添加service和route
2.配置consumer,同时设置jwt
创建consumer
添加jwt配置
可以key和secret自定义名称,或者使用默认值(直接提交,不需要填任何东西)
重点关注三个值 algorithm,key,secret,他们和 Jwt 算法的参数密切相关,如下图:
3.添加jwt插件
添加jwt,需要增加header names的配置‘Authorization’,需要按回车键,再保存,其他不需要填写。如下图所示:
4.调用测试
添加jwt插件后,不传token就会访问提示无权限。如下图所示:
先生成token ,在jwt.io官网上,可以根据 algorithm,key,secret三个参数生成。如下图:
使用token访问,可以请求到接口,注意不是追加链接后面。如下图:
注意:jwt的token类型是Bearer,所以把token放在请求头部,
格式:Authorization: Bearer token