欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

kong Api网关使用(搭配konga)

程序员文章站 2022-03-14 21:18:28
...

kong Api网关使用(搭配konga)

搭建docker运行环境:
docker-compose :参考https://github.com/Kong/docker-kong/blob/master/compose/docker-compose.yml
可以去dockerHub看部署方式: https://hub.docker.com/_/kong

我这里由于一些原因,写成了bash命令启动模式(使用了hos模式,没有去掉暴露端口)

#!/bin/bash
docker run -d --name kong-database \
                -p 5432:5432 \
                -e "POSTGRES_USER=kong" \
                -e "POSTGRES_DB=kong" \
                postgres:9.6   
sleep 10 
docker run --rm \
    --link kong-database:kong-database \
    -e "KONG_DATABASE=postgres" \
    -e "KONG_PG_HOST=kong-database" \
    -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
    kong kong migrations bootstrap 
docker run -d --name kong \
    -e "KONG_DATABASE=postgres" \
    -e "KONG_PG_HOST=127.0.0.1" \
    -e "KONG_CASSANDRA_CONTACT_POINTS=127.0.0.1" \
    -e "KONG_PROXY_ACCESS_LOG=/dev/stdout" \
    -e "KONG_ADMIN_ACCESS_LOG=/dev/stdout" \
    -e "KONG_PROXY_ERROR_LOG=/dev/stderr" \
    -e "KONG_ADMIN_ERROR_LOG=/dev/stderr" \
    -e "KONG_ADMIN_LISTEN=0.0.0.0:8001, 0.0.0.0:8444 ssl" \
    -p 8000:8000 \
    -p 8443:8443 \
    -p 8001:8001 \
    -p 8444:8444 \
    --volume "/home/luslin/flume/:/home/kong/" \
    --network=host \
    kong   
docker run -d -p 1337:1337 \
             --name konga \
             -e "NODE_ENV=production" \
             -e "TOKEN_SECRET=asd12386" \
             --network=host \
             pantsel/konga

sleep 10 原因是等postgres能对外提供服务
ui使用的是konga

关于kong 与 nginx 配置的关系可以参考:https://www.cnblogs.com/duanxz/p/9776316.html
打开127.0.0.1:1337, 注册用户
kong Api网关使用(搭配konga)
写kong admin 的监控链接8001端口
kong Api网关使用(搭配konga)
在servies中添加
kong Api网关使用(搭配konga)
这里的host

一个典型的 Nginx 配置

upstream helloUpstream {
    server localhost:3000 weight=100;
}

server {
    listen  80;
    location /hello {
        proxy_pass http://host;    就是这里的host  
    }
}

点击刚刚创建的service添加router
kong Api网关使用(搭配konga)
这里的router,记得每个输入要回车确认

一个典型的 Nginx 配置

upstream helloUpstream {
    server localhost:3000 weight=100;
}

server {
    listen  80;
    location /hello {    相当于这里的hello
        proxy_pass http://host;    就是这里的host  
    }
}

host与path作用类似,只是访问8000端口的方式不同。在host中添加的需要在访问的头文件中添加Host:touyan

在path中添加的,需要在路径最前面填上/touyan 然后是你要访问的路径。
比如一个访问

POST http://127.0.0.1:8000/api/user/login    header 中要加入 Host:touyan
或者 在path中写入 /touyan  去掉host
POST http://127.0.0.1:8000/touyan/api/user/login 

8000端口是kong 监听代理链接的端口

相关标签: 工具使用