版本: 安装Kong-2.1 postgresql-12
源文件安装方式:
1. kong buntu安装官网: [KONG](https://docs.konghq.com/install/ubuntu/?_ga=2.260577869.1112426161.1596594333-1659736401.1596437274)
2. postgresql buntu安装官网: [postgresql](https://www.postgresql.org/download/linux/ubuntu/)
docker 安装 方式: 里面执行步骤很详细 docker-install kong
1. 根据 Host 进行匹配
添加 services
curl -i -X POST \
--url http://localhost:8001/services/ \
--data 'name=ai-service' \
--data 'url=https://www.ainnovation.com/'
添加 route
curl -i -X POST \
--url http://localhost:8001/services/ai-service/routes \
--data 'hosts[]=ai.com'
执行下面的cURL请求,验证Kong是否正确转发到你的Service。 注意,默认情况下,Kong在:8000端口处理代理请求
curl -i -X GET \
--url http://localhost:8000/ \
--header 'Host: ai.com'
成功的响应意味着Kong现在将对http//localhost:8000的请求转发到我们在步骤1中配置的URL,并将响应转发给我们。Kong知道通过上面的cURL请求中定义的header来执行此操作:
Host: <given host>
一个service可以配置多个 route ,同样在为上面的service 配置一个 host=yjg.com 的route
curl -i -X POST \
--url http://localhost:8001/services/ai-service/routes \
--data 'hosts[]=yjg.com'
curl -i -X GET \
--url http://localhost:8000/ \
--header 'Host: yjg.com'
2. 根据uri进行匹配
curl -i -X POST \
--url http://localhost:8001/services/ \
--data 'name=jd-service' \
--data 'url=https://www.jd.com/'
curl -i -X POST http://localhost:8001/services/jd-service/routes \
--data 'paths[]=/jd' \
--data 'name=jding'
然后访问页面 http:localhost:8000/jd 就会展示到京东页面
查看当前的 services列表和 routes列表
curl -i -X GET http://localhost:8001/services/
curl -i -X GET http://localhost:8001/routes/
删除 service route
curl -i -X DELETE http://localhost:8001/services/c782e21f-a025-4bc9-82f5-fd0e49d3565f
curl -i -X DELETE http://localhost:8001/routes/7ac071c2-36fc-4e70-ae41-a48e54af856f
限流: 每分钟的多少条
curl -i -X POST http://localhost:8001/plugins --data "name=rate-limiting" --data "config.minute=50" --data "config.policy=local"
curl -i -X GET http://localhost:8001/plugins
负载均衡
curl -X POST http://localhost:8001/upstreams \
--data name=upstream
curl -X PATCH http://localhost:8001/services/jd-service \
--data host='upstream'
curl -X POST http://localhost:8001/upstreams/upstream/targets \
--data target='jd.com:443'
curl -X POST http://localhost:8001/upstreams/upstream/targets \
--data target='baidu.com:443'
curl -X POST http://localhost:8001/upstreams/upstream/targets \
--data target='ainnovation.com:443'
curl -X POST http://localhost:8001/upstreams/upstream/targets --data target='ainnovation.com:443'
查询
curl -X GET http://localhost:8001/upstreams/upstream/targets