精华内容
下载资源
问答
  • kong postgresql konga安装配置使用postgresql安装配置1下载安装2.配置(1)、安装完后会有PostgreSQL的客户端psql,通过命令进入数据库(2)、修改postgres的密码(3)、修改Linux用户的密码(4)、配置数据库以允许远程...


    以下安装环境版本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了
    在这里插入图片描述

    6.负载均衡测试服务代理

    使用命令创建服务和测试服务代理

    curl -X POST http://ip:8001/upstreams --data "name=blog"
    

    创建一个上游服务名字为blog相当于nginx.conf中的

    upstream blog{
     
    }
    
    curl -X POST http://ip:8001/upstreams/blog/targets --data "target=ip:8001" --data "weight=100"
    

    创建一个目标代理权重为100相当于nginx.conf中的一个上游服务中可以创建多个代理
    执行完上面的命令

    upstream blog{
        server ip:8001 weight=100;
        server ip:8003 weight=50;
    }
    
    curl -X POST http://192.168.0.198:8001/services --data "name=helloblog" --data "host=blog"
    

    创建一个服务执行完之后会生成一个服务id

    server {
    listen 80;
    	proxy_pass http://blog;
    }
    
    curl -X POST http://ip:8001/routes --data "paths[]=/helloblog" --data "service.id=65689b01-09e4-45e0-891b-da6fa3dfc192"
    

    路由绑定服务
    server {
    listen 80;
    location /helloblog{
    proxy_pass http://blog;
    }
    }

    upstream blog{
        server 192.168.0.198:8001 weight=100;
    }
    
    server {
        listen 80;
        location /helloblog{
        proxy_pass http://blog;
      }
    }
    

    在这里插入图片描述
    1个upstream可以负载均衡多个target
    1个service可以匹配多个route

    konga的基本使用配置

    1.创建用户

    在这里插入图片描述

    2.分布式管理kong

    在这里插入图片描述

    3.快照信息

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    konga配置服务

    1.创建一个upstream

    在这里插入图片描述

    2.指定一个target(代理服务)

    在这里插入图片描述

    3.创建一个服务(service)

    只需要填写url会自动解析协议ip端口和路径
    在这里插入图片描述

    4.创建一个路由

    在这里插入图片描述

    * 添加服务限流rate-limiting插件

    可配置项:
    year:年
    month: 月
    day: 天
    minute:分钟,这里我们配置3,表示每分钟不能超过3次调用。
    Second: 秒
    计算频率的维度:月/天/分钟/秒, 假如同时配置多个维度,会同时生效。
    根据年、月、日、时、分、秒设置限流规则,多个限制同时生效。
    比如:每天不能超过10次调用,每分不能超过3次。
    当一分钟内,访问超过3次,第四次就会报错。
    当一天内,访问次数超过10次,第十一次就会报错。

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    * 添加ip黑白名单ip-restriction插件

    ** 规则:
    IP黑白名单,支持单个,多个,范围分段IP(满足CIDR notation规则)。多个IP之间用逗号,分隔。
    CIDR notation规范如下:
    10.10.10.0/24 表示10.10.10.*的都不能访问。
    1.设置黑名单IP
    在这里,我将我自己的IP设置成黑名单 **

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    * konga bot-detection插件使用

    对service或route创建 bot-detection可以根据User-agent对请求分类到黑名单或白名单
    下面是三个浏览器的User-Agent
    IE浏览器: User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18362
    火狐: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0
    Chrome: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36
    配置
    注意:开发人员可以自定义黑白名单的配置同样也支持User-Agent配置只要请求的时候带上头文件就可以进行拦截请求

    .*Edge.*       # 配置iE浏览器不能访问 黑名单配置
    .*Firefox.*    # 配置火狐浏览器不能访问
    .*Safari.*     # 配置谷歌浏览器不能访问
    

    下面配置IE浏览器不能访问服务
    在这里插入图片描述
    在这里插入图片描述
    自定义配置示例
    在这里插入图片描述
    使用postman中将请求的User-Agent设为kong-botdetection发送请求可以看到返回Fobidden消息
    在这里插入图片描述

    * 请求体限制request size limiting

    对请求的payload size进行设定。设定是以M为单位的
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    * 配置lua脚本拦截请求处理(Pre)

    使用konga配置lua脚本
    在这里插入图片描述
    在这里插入图片描述
    这里我选择的是请求之前处理逻辑如果请求头没有x-custom-auth相应401

       -- Get list of request headers
       local custom_auth = kong.request.get_header("x-custom-auth")
    
       -- Terminate request early if our custom authentication header
       -- does not exist
       if not custom_auth then
         return kong.response.exit(401, "Invalid Credentials")
       end
    
       -- Remove custom authentication header from request
       kong.service.request.clear_header('x-custom-auth')
    

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • konga 安装部署

    2020-03-31 15:56:47
    konga是kong的UI管理界面,下面用docker安装 # 拉去镜像 docker pull pantsel/konga:latest # 导出镜像 docker save -o ./konga.tar pantsel/konga:latest # 内网导入镜像 docker load --input ...

    Kong的功能已经足够强大,它的免费版是没有提供GUI界面的,通过CLI使用始终相对不便。于是,网上一些有志之士开发了相关的GUI界面。其中,做得比较好的有:

    Kong dashboard,https://github.com/PGBI/kong-dashboard,已经长期没有更新,只支持到Kong的0.9版本,目前Kong的最新版本是1.2.x
    Konga,https://github.com/pantsel/konga,功能完善,持续更新中

    官网:https://github.com/pantsel/konga

    konga 是kong的UI管理界面,下面用docker 安装

    # 拉去镜像
    docker pull pantsel/konga:latest
    
    # 导出镜像
    docker save -o ./konga.tar pantsel/konga:latest
    
    # 内网导入镜像
    docker load --input ./konga.tar
    1.Prepare the database
    
    docker run --rm pantsel/konga:latest -c prepare -a postgres 
    -u postgresql://konga:123456@localhost:5431/konga
    
    
    # 注意 上面的localhost是docker 容器的localhost,并不是宿主机的localhost
    # 一般需要行为:172.17.0.1
    
    在docker容器里localhost并不是指宿主机的localhost
    由此原因,并不能在容器中通过localhost:3306访问到宿主机的mysql
    
    docker在运行时就建立了虚拟网卡,并命名为docker0
    我们可以在宿主机上运行ifconfig看到它,这就是宿主机建立的网桥,用于与各个容器之间通信

     

    2.Start Konga
    
    docker run -p 1337:1337 -e "TOKEN_SECRET={{somerandomstring}}" -e "DB_ADAPTER=postgres" -e 
    "DB_URI=postgresql://konga:123456@localhost:5431/konga" -e "NODE_ENV=production" 
    --name konga pantsel/konga

     

    3.访问:http://localhost:1337

     

    4.需要填写用户名、email、密码等等进行注册(内部网也需要)

     

    如果出现报错:

    error: A hook (`orm`) failed to load!
    error: Failed to prepare database: error: column r.consrc does not exist

    问题原因是:高版本postgresql导致的,后来换回9.6就可以了

     

     

     

     

     

     

     

    展开全文
  • API 网关KONGA安装手册

    2019-05-05 11:16:04
    基于centos 7.0,6.5 等安装测试,带网管配置界面,根据用户角色授权等。
  • kong 可视化管理工具konga安装步骤

    千次阅读 2020-03-26 13:01:28
    kong 本来提供了自己的图形化界面管理工具 Kong Dashboard。...所以选择另一个工具 konga安装 npm安装方式 1. 安装依赖 sudo apt-get install nodejs npm sudo npm install -g gulp sudo npm install -g bower s...

    kong 本来提供了自己的图形化界面管理工具 Kong Dashboard。可惜只支持kong 0.14 以下的版本。我安装的kong 为最新版本 2.0.2
    所以选择另一个工具 konga来安装

    npm安装方式

    1. 安装依赖

    sudo apt-get install nodejs npm
    sudo npm install -g gulp
    sudo npm install -g bower
    sudo npm install -g sails
    

    2. 安装

    git clone https://github.com/pantsel/konga.git
    cd konga
    npm install konga
    

    3. 配置数据库信息

    cd konga/config/
    cp local_example.js local.js
    vim local.js
    
    models: {
        connection: process.env.DB_ADAPTER || 'localDiskDb',
    }
    

    改成以下

    models: {
        connection: process.env.DB_ADAPTER || 'postgres',
         // 这里可以用‘mysql’,‘mongo’,‘sqlserver’,‘postgres’
    }
    
    vim connections.js
    

    改为自己使用的数据库的信息

    postgres: {
      adapter: 'sails-postgresql',
      url: process.env.DB_URI,
      host: process.env.DB_HOST || 'localhost',
      user:  process.env.DB_USER || 'kong_user',
      password: process.env.DB_PASSWORD || 'kong_pass',
      port: process.env.DB_PORT || 5432,
      database: process.env.DB_DATABASE ||'kong_db',
    

    安装依赖

    npm run bower-deps     # (界面空白的时候,需要执行这个)
    npm install dotenv-extended
    npm install angular
    
    cd konga/
    npm start
    
    #启动后可能会报错,
    No DB Adapter defined. Using localDB...
    error: ** Grunt :: An error occurred. **
    error: 
    运行npm install sails-postgresql 报错,权限问题,
     
    执行npm install --unsafe-perm=true --allow-root sails-postgresql
    

    浏览器输入 localhost:1338,端口可以在 local.js 修改

    展开全文
  • KONG管理界面KONGA安装使用

    千次阅读 2019-12-19 18:17:01
    功能 管理所有Kong Admin API的对象. 从数据库、文件和API等导入Consumers。 管理Kong多个节点。 备份、恢复、迁移Kong Nodes使用快照。 使用健康检测监控节点和API状态。... Email和Slack消息通知 ...安装Node...

    功能

    • 管理所有Kong Admin API的对象.
    • 从数据库、文件和API等导入Consumers。
    • 管理Kong多个节点。
    • 备份、恢复、迁移Kong Nodes使用快照。
    • 使用健康检测监控节点和API状态。
    • Email和Slack消息通知
    • 支持多管理用户和设置不同权限
    • 支持数据库MySQL, postgresSQL, MongoDB, SQL Server。

    安装

    安装Node.js>= 8 (8.11.3 LTS is recommended)和npm

    centos7 默认的nodejs 6.1.3版本升级 ,安装模块n到全局

    yum -y install nodejs

    npm install -g n

    安装高版本

    n 8.11.3

    下载源码,进入konga目录,安装依赖js类库

    git clone https://github.com/pantsel/konga.git

    cd konga

    npm i

     

    运行

    复制.env_example 文件为.env

    1.开发测试环境启动konga

    npm start

    2.产品正式环境启动konga

    准备postgres数据库,初始化database

     

    运行konga命令

    npm start

     

    3.Docker Image运行konga

    准备数据库

    node ./bin/konga.js  prepare 

    docker运行konga

    $ docker pull pantsel/konga
    $ docker run -p 1337:1337 \
                 --network {{kong-network}} \ // optional
                 --name konga \
                 -e "NODE_ENV=production" \ // or "development" | defaults to 'development'
                 -e "TOKEN_SECRET={{somerandomstring}}" \
                 pantsel/konga

    打开浏览器访问konga管理界面,http://{your server’s public ip}:1337

    登录后首页

    QQ20190129-115047@2x

    Kong节点信息页

    QQ20190129-115109@2x

    服务对象页

    QQ20190129-115129@2x

    插件管理页

    QQ20190129-115828@2x

     

    参考文档:https://hub.docker.com/r/pantsel/konga/

    展开全文
  • 说明:官网推荐: kong-dashboard,但对比界面高端程度和友好度,更推荐konga.[一个坑]kong版本问题:我在安装时目前kong最新版本已经到1.0.0, 对于konga和kong-dashboard还不支持,建议安装低版本0.15以下;...
  • 安装这个有些小坑,根据报错信息都可以解决。 安装依赖 # 我的是Deepin 15.4,其它版本系统自行搜索 sudo apt-get install nodejs npm gulp ...安装konga git clone https://github.com/pantsel/konga.git cd

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 413
精华内容 165
关键字:

konga安装