Docker安装Kong网关

October 16, 2020

这篇文章主要介绍了如何使用Docker安装Kong网关。首先,创建一个Docker网络,然后创建PostgreSQL或Cassandra数据库。接着,准备数据库并启动Kong服务。Kong服务默认监听8000、8443、8001和8444端口。验证Kong服务后,安装Konga,一个Kong的管理界面。最后,提供了几个参考链接,包括Kong的官方文档和其他相关文章。

创建Docker network

 $ docker network create kong-net

创建数据库

本案例使用的是PostgreSQL数据库

Cassandra数据库

 $ docker run -d --name kong-database \
               --network=kong-net \
               -p 9042:9042 \
               cassandra:3

PostgreSQL数据库

 $ docker run -d --name kong-database \
               --network=kong-net \
               -p 5432:5432 \
               -e "POSTGRES_USER=kong" \
               -e "POSTGRES_DB=kong" \
               -e "POSTGRES_PASSWORD=kong" \
               postgres:9.6

准备数据库

此命令使用的是postgres数据库

 $ docker run --rm \
     --network=kong-net \
     -e "KONG_DATABASE=postgres" \
     -e "KONG_PG_HOST=kong-database" \
     -e "KONG_PG_USER=kong" \
     -e "KONG_PG_PASSWORD=kong" \
     -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
     kong:latest kong migrations bootstrap

启动Kong服务

 $ docker run -d --name kong \
     --network=kong-net \
     -e "KONG_DATABASE=postgres" \
     -e "KONG_PG_HOST=kong-database" \
     -e "KONG_PG_USER=kong" \
     -e "KONG_PG_PASSWORD=kong" \
     -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
     -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 127.0.0.1:8001:8001 \
     -p 127.0.0.1:8444:8444 \
     kong:latest

Kong默认监听下面端口:

8000,监听来自客户端的HTTP流量,转发到你的upstream服务上。

8443,监听HTTPS的流量,功能跟8000一样。可以通过配置文件禁止。

8001,Kong的HTTP监听的api管理接口。

8444,Kong的HTTPS监听的API管理接口。

验证Kong服务

 $ curl -i http://127.0.0.1:8001/

安装Konga

 $ docker pull postgres:latest
 $ docker run -d -p 1337:1337 --network kong-net -e "TOKEN_SECRET=kongtoken" -e "DB_ADAPTER=postgres" -e "DB_HOST=kong-database" -e "DB_USER=kong"  -e "DB_PASSWORD=kong"  --name konga pantsel/konga

访问URLhttp://{konga-ip}:1337/

参考

https://docs.konghq.com/install/docker/

https://www.jianshu.com/p/5049b3bb4b80

https://juejin.im/post/6844903951070920711

其他网关

IARNO

服务端开发

Konga使用

Burp Suite使用