kong Api网关使用(搭配konga)

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 admin 的监控链接8001端口
在这里插入图片描述
在servies中添加
在这里插入图片描述
这里的host

一个典型的 Nginx 配置

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

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

点击刚刚创建的service添加router
在这里插入图片描述
这里的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 监听代理链接的端口

猜你喜欢

转载自blog.csdn.net/luslin1711/article/details/103603155