• API网关Kong部署和使用文档


    KONG安装使用说明
    系统版本:ubuntu14
    
    1、下载安装包
    
    $ wget https://github.com/Mashape/kong/releases/download/0.8.3/kong-0.8.3.trusty_all.deb
    2、安装依赖
    
    $ sudo apt-get update
    
    $ sudo apt-get install openjdk-7-jdk
    
    $ sudo apt-get install netcat openssl libpcre3 dnsmasq procps
    
    $ sudo dpkg -i kong-0.8.3.*.deb
    3、安装数据库
    
    安装CASSANDRA 2.2.X
    
    下载地址:
    
    $ wget http://mirrors.hust.edu.cn/apache/cassandra/2.1.15/apache-cassandra-2.1.15-bin.tar.gz
    解压:
    
    $ tar zxvf apache-cassandra-2.1.15-bin.tar.gz
    移动:
    
    $ sudo mv apache-cassandra-2.1.15-bin /usr/local/cassandra-2.1.15
    执行:
    
    $ /usr/local/cassandra-2.1.15/bin/cassandra
    4、修改配置
    
    $  sudo vi /etc/kong/kong.yml
    
    设置 cluster_listen: "127.0.0.1:7946"
    5、启动kong
    
    $ kong start
    5、运行kong
    
    $ curl 127.0.0.1:8001
    6、添加API
    
    $ curl -i -X POST 
      --url http://localhost:8001/apis/ 
      --data 'name=simlogin' 
      --data 'upstream_url=http://uc.ttq.dev/index.php/ttk/auth/simlogin' 
      --data 'request_path=/simlogin'   
      --data 'request_host=uc.ttq.dev'
    
    url:kong固定地址
    request_path:请求路径
    upstream_url:真实路径
    7、访问API
    
    http://172.168.6.211:8000/simlogins?login_account=18022222223&channel=ttk&type=pc
    
     172.168.6.211:8000(Kong服务器地址)
     simlogins (request_path)
    8、Key验证
    
    配置key
    
    $ curl -X POST http://kong:8001/apis/{api}/plugins 
     --data "name=key-auth"
    
    例子:
    $ curl -X POST http://localhost:8001/apis/simlogin/plugins --data 'name=key-auth' 
    
    返回值:
    {
        "api_id": "95ec4e23-0d19-4c38-a974-8f5643876eb0",
        "id": "5e711b42-23f8-4f79-a7b1-91b0bd779c69",
        "created_at": 1472110325000,
        "enabled": true,
        "name": "key-auth",
        "config": {
            "key_names": ["apikey"],
            "hide_credentials": false
        }
    }
    创建调用账户
    
    $ curl -X POST http://kong:8001/consumers/ 
     --data "username=<USERNAME>" 
     --data "custom_id=<CUSTOM_ID>"
    
    例子:
    $ curl -X POST http://localhost:8001/consumers/ 
     --data "username=login_user" 
     --data "custom_id=000002"
    
    返回值:
    {
        "custom_id": "000002",
        "username": "login_user",
        "created_at": 1472110450000,
        "id": "9267ff99-3732-4150-a727-ced409699e27"
    }
    设置key
    
    $ curl -X POST http://kong:8001/consumers/{consumer}/key-auth
    
    例子:
    $ curl -X POST http://localhost:8001/consumers/9267ff99-3732-4150-a727-ced409699e27/key-auth 
     --data "key=ksdpemc514d"
    
    返回值:
    {
        "key": "ksdpemc514d",
        "consumer_id": "9267ff99-3732-4150-a727-ced409699e27",
        "created_at": 1472110618000,
        "id": "005a8a0b-61ce-4085-8300-4c9790c9599c"
    } 
    http调用
    
    http://kong:8000/simlogins?apikey=ksdpemc514d 
    //参数和实际接口参数一样
    8、IP限定
    
    $ curl -X POST http://kong:8001/apis/{api}/plugins 
     --data "name=ip-restriction" 
     --data "config.whitelist=54.13.21.1, 143.1.0.0/24"
    
    例子:
    $ curl -X POST http://localhost:8001/apis/login/plugins 
     --data "name=ip-restriction" 
     --data "config.whitelist=172.168.6.210"
    
    返回值:
    {
        "api_id": "f7eb3785-2e6f-477c-bac6-4b078a7a7cf2",
        "id": "ec1666af-66f5-45f4-8059-619b93d1299a",
        "created_at": 1472191585000,
        "enabled": true,
        "name": "ip-restriction",
        "config": {
            "whitelist": ["172.168.6.210"]
        }
    }
    9、删除扩展
    
    $ curl -i -X DELETE kong:8001/plugins/{pluginsid}
    
    例子:
    $ curl -i -X DELETE localhost:8001/plugins/f1ef7f24-a5b3-40c7-8c23-75860bdf9fb3
    
    返回值:
    HTTP/1.1 204 No Content
    Date: Fri, 26 Aug 2016 06:04:44 GMT
    Connection: keep-alive
    Access-Control-Allow-Origin: *
    Server: kong/0.8.3
    10、安装ui
    
    注:比较麻烦,而且也不稳定
    安装mongoDB
    
    $ sudo apt-get install mongodb mongodb-clients mongodb-dev mongodb-server
    安装nodejs
    
    $ sudo weget https://nodejs.org/dist/v4.5.0/node-v4.5.0.tar.gz //nodejs
    
    $ sudo tar zxvf node-v4.5.0.tar.gz
    
    $ sudo ./configure
    
    $ sudo make && make install 
    安装npm
    
    $ sudo weget https://npm.taobao.org/mirrors/npm/v3.9.6.tar.gz //npm
    
    $ sudo tar zxvf v3.9.6.tar.gz
    
    $ sudo ./configure
    
    $ sudo make && make install 
    安装bower
    
    1、$ sudo npm i -g bower
    
    2、$ git clone https://github.com/lestoni/dashy.git
    
    3、$ sudo bower install
    
    4、修改bower.json "validator": "https://github.com/yairEO/validator.git#^1.0.6
    
    5、配置config/index.js
    
    6、$ npm start
    
    7、http://localhost:7500
  • 相关阅读:
    编写JS代码的“use strict”严格模式及代码压缩知识
    开发网站要从用户的角度出发!
    你好,世界
    JavaScript的几种函数的结构形式
    JavaScript功能检测技术和函数构造
    android打造万能的适配器
    C语言第二次博客作业分支结构
    C语言第三次博客作业单层循环结构
    C语言第一次博客作业——输入输出格式
    C语言第四次博客作业嵌套循环
  • 原文地址:https://www.cnblogs.com/herry52/p/5828938.html
Copyright © 2020-2023  润新知