KONG-ADMIN演示
1、创建服务
curl -i -X POST \
--url http://localhost:8001/services/ \
--data 'name=example-service' \
--data 'url=http://mockbin.org'
url--对应services 表 protocol-host-port(http---mockbin.org)
protocol
mockbin.org
2. Add a Route for the Service(一个服务有多个路由)
$ curl -i -X POST \
--url http://localhost:8001/services/baidu-service/routes \
--data 'hosts[]=t1.com' --data 'hosts[]=t2.com'
//多种方式
'hosts[]=t2.com'
//多种方式
hosts
accepts multiple values, which must be comma-separated when specifying them via the Admin API, and is represented in a JSON payload:
$ curl -i -X POST http://localhost:8001/routes/ \
-H 'Content-Type: application/json' \
-d '{"hosts":["example.com", "foo-service.com"]}'
HTTP/1.1 201 Created
...
But since the Admin API also supports form-urlencoded content types, you can specify an array via the []
notation:
$ curl -i -X POST http://localhost:8001/routes/ \
-d 'hosts[]=example.com' \
-d 'hosts[]=foo-service.com'
HTTP/1.1 201 Created
3. Forward your requests through Kong---TEST
Issue the following cURL request to verify that Kong is properly forwarding requests to your Service. Note that by default Kong handles proxy requests on port :8000
:
$ curl -i -X GET \
--url http://localhost:8000/ \
--header 'Host: example.com'
4、给服务添加启用插件
请求访问时,会检查:
Configure the key-auth plugin
To configure the key-auth plugin for the Service you configured in Kong, issue the following cURL request:
A、为服务启用插件
$ curl -i -X POST \
--url http://localhost:8001/services/baidu-service/plugins/ \
--data 'name=key-auth'
当系统初始化时,读表plugins(读取插件配置)---会为每个服务加载插件列表,当请求来临时,调用插件的拦截方法,传递conf---
插件内会去从请求中找出访问key,然后差找访问凭证,进而查询出消费者,把消费者信息,写到后续请求头中
测试访问,返回
测试访问,返回
curl -i -X GET --url http://t1.com:8000 --header 'HOST:t1.com'
HTTP/1.1 401 Unauthorized
Date: Sun, 29 Mar 2020 13:02:57 GMT
Content-Type: application/json; charset=utf-8
Connection: keep-alive
WWW-Authenticate: Key realm="kong"
Content-Length: 41
X-Kong-Response-Latency: 1
Server: kong/2.0.2
{"message":"No API key found in request"}
B、建立访问者身份凭证
//创建消费者----增加应用的用户
curl -i -X POST \
--url http://localhost:8001/consumers/ \
--data "username=Jason"
//创建消费者访问凭证----keyauth_credentials--增加记录
curl -i -X POST \
--url http://localhost:8001/consumers/Jason/key-auth/ \
--data 'key=123456'
//验证访问
curl -i -X GET --url http://t1.com:8000 --header 'HOST:t1.com' --header 'apikey:123456'
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 《HelloGitHub》第 106 期
· 数据库服务器 SQL Server 版本升级公告
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)