首页 > 系统相关 >Centos下KONG API网关实践

Centos下KONG API网关实践

时间:2023-02-23 21:07:36浏览次数:49  
标签:API 网关 http Centos service api upstream com name


上篇已经安装好了 kong

​Centos安装KONG​

一、命令操作
kong网关-添加服务和路由
services:
创建名为service.api的服务,并通过host绑定相应的后端服务upstream.api。

curl -X POST localhost:8001/services/service.api
-d "name=service.api"
-d "host=upstream.api"
//
{
"host": "upstream.api",//绑定的upstream
"created_at": 1553663485,
"connect_timeout": 60000,
"id": "5b93eda7-7ba5-4acc-a536-cf12f58a1144",//service.id
"protocol": "http",
"name": "service.api",
"read_timeout": 60000,
"port": 80,
"path": "/api/v1",
"updated_at": 1553663485,
"retries": 5,
"write_timeout": 60000
}

等同于:

http {
server {
listen 8000;
location waiting-for-define {
proxy_pass http://upstream.api;
}
}
}

routes
为服务service.api绑定路由。需要理解,route并非一条url,它是kong的路由服务,可以为某个kong服务管理管理一套路由集合,route就相当于 http > server 中的 location 规则集合。

#为service.api添加路由集合
curl -X POST localhost:8001/routes \
-d "name=route.api" \
-d "paths[]=/api/v1" \
-d "paths[]=/api/v2" \
-d "paths[]=/api/v3" \
-d "hosts[]=api.service.com" \
-d "hosts[]=service.com" \
-d "service.id=5b93eda7-7ba5-4acc-a536-cf12f58a1144"

#或者通过 services 的接口

curl -X POST localhost:8001/services/service.api/routes \
-d "name=route.api" \
-d "paths[]=/api/v1" \
-d "paths[]=/api/v2" \
-d "paths[]=/api/v3" \
-d "hosts[]=localhost" \
-d "hosts[]=api.service.com" \
-d "hosts[]=service.com" \

我们还同时指定了hosts,相当于server_name,顺手把虚拟主机也做了。
大致等同于如下配置:

http {
server {
listen 8000;
server_name localhost api.service.com service.com;
location /api/v1 {
proxy_pass http://upstream.api;
}
location /api/v2 {
proxy_pass http://upstream.api;
}
location /api/v3 {
proxy_pass http://upstream.api;
}
}
}

这样我们可以通过

localhost:8000/api/v1
api.service.com:8000/api/v2
service.com:8000/api/v3

来访问 ​​service.api​​服务,此服务后端有两台服务器做 LB。

二、安装Konga管理面板

git clone https://github.com/pantsel/konga.git
cd konga
npm i
npm start //或者先npm run bower-deps然后npm run

默认端口:1337

标签:API,网关,http,Centos,service,api,upstream,com,name
From: https://blog.51cto.com/u_15967457/6081728

相关文章

  • 数据服务api加密方式
    md5+签名认证packagecom.alibaba.dt.dataphin;importorg.apache.commons.codec.binary.Base64;importorg.apache.http.Header;importorg.apache.http.HttpRespo......
  • asp.net core webapi之创建项目后切换http/https
    在项目调试过程中如果选择了https则会出现下面问题这时的解决方案为:项目-右键-属性-调试,把原先的https后的s删除即可  ......
  • asp.net core webapi初识
    1.建立webapi项目  2.把启用SSL取消勾选(取消https)  3.选择项目-右键-发布,进行发布信息设置,选择文件夹发布   4.打开IIS管理器,新建网站,物理路径选择刚刚......
  • 【小白】FileZilla Window安装并连接 Centos7
    本文是小白教程 通过 FileZilla来实现 windows系统到Centos7 服务器的文件传输。FTP概述文件传输协议(FileTransferProtocol,FTP)是用于在网络上进行文......
  • aliyun如何更改CentOS 6源地址
    背景资料CentOS6已于2020年11月30日停产。根据Linux社区规则,http://mirror.centos.org/centos-6/CentOS6源地址处的内容已被删除。所有第三方镜像提供商都......
  • A Tandem Learning Rule for Effective Training and Rapid Inference of Deep Spikin
    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布!IEEETRANSACTIONSONNEURALNETWORKSANDLEARNINGSYSTEMS,VOL.34,NO.1,JANUARY2023 Abstract脉......
  • centos k8s 部署 yearning
    1.下载镜像dockerpullzhangsean/yearning:v3.1.2.22.yaml文件apiVersion:apps/v1kind:Deploymentmetadata:name:yearningspec:replicas:1selec......
  • linux(centos)下安装.net6 环境
    添加仓储指令rpm-Uvhhttps://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm执⾏安装命令:1、如果不需要在linux上编译源码yuminstall dotnet......
  • ABAP 委外采购收货调用过账bapi
    相关的表:ekko:采购凭证抬头表用于判断是否委外ekpo:采购凭证行项目表用于判断是否委外以及委外采购的数量resb:获取委外采购单中bom的相应预留mseg:获取已经委外原材......
  • 给一台10年的华硕笔记本电脑A85V型号安装最新版本的centos stream 9系统
    ######################准备1台华硕笔记本电脑A85V型号,基本配置是:12G内存,128G固态硬盘,500G普通硬盘,4核CPU,i5处理器(是2013年买的,今年是2023年,已经10年了);1个128G的金士顿......