wsl2 Ubuntu下kong postgresql konga安装配置使用

转载地址:

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值