当前位置: 首页 > news >正文

APISIX Dashboard上的配置操作

文章目录

  • 登录
  • 配置路由
  • 配置消费者
  • 创建后端服务项目
  • 配置上游
  • 再创建一个路由
  • 测试

登录

http://192.168.10.101:9000/user/login?redirect=%2Fdashboard
在这里插入图片描述
根据docker 容器里的指定端口:
在这里插入图片描述

配置路由

通过apisix 的API管理接口来创建(此路由,直接通过APISIX Dashboard可视化界面配置,据我所知是不行,包括key什么的都不知道在什么地方配置),所以直接通过API管理接口来创建。

curl -X PUT 'http://127.0.0.1:9180/apisix/admin/routes/r1' \
    -H 'X-API-KEY: <api-key>' \
    -H 'Content-Type: application/json' \
    -d '{
        "uri": "/apisix/plugin/jwt/sign",
        "plugins": {
            "public-api": {}
        }
    }'

其中的<api-key>替换为:
在这里插入图片描述
最终为:

curl -X PUT 'http://127.0.0.1:9180/apisix/admin/routes/r1' \
    -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' \
    -H 'Content-Type: application/json' \
    -d '{
        "uri": "/apisix/plugin/jwt/sign",
        "plugins": {
            "public-api": {}
        }
    }'

当出现以下红框里的内容时,表明执行成功:
在这里插入图片描述
注意以上内容,再往终端控制台粘贴执行时注意一下格式,有时候格式不对,可以使用AI工具给格式化一下,执行会报其他信息。
在这里插入图片描述
执行完毕后,通过APISIX Dashboard上的路由界面可以看到多了一条路由信息:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

配置消费者

{
  "username": "jack",
  "plugins": {
    "jwt-auth": {
      "algorithm": "HS256",
      "base64_secret": false,
      "exp": 86400,
      "key": "62ebfa59f112a56b0e691df72fbeeffc",
      "secret": "my-secret-key"
    }
  }
}

在这里插入图片描述
在这里插入图片描述
在浏览器中输入:http://192.168.10.101:9080/apisix/plugin/jwt/sign?key=62ebfa59f112a56b0e691df72fbeeffc 如果没有问题的话,回复JWT Token的。请求参数中的key就是配置的消费者里的key。
在这里插入图片描述

创建后端服务项目

在另一台机器:192.168.10.106上,用JS写一个在Node.js运行,并可访问的后台服务项目。
Node.js的安装已省略,可参照网上的。
安装完毕后,看看 node -v 和 npm -v 是否都显示。
创建项目

cd /opt
mkdir my-node-app
npm init -y   					#会快速生成package.json
npm install express             #web框架  
vim app.js

将以下内容写入到app.js文件中

const express = require('express');
const app = express();
const port = 5001;

app.get('/protect/tom', (req, res) => {
  res.send('Hello Tom! ');
});

app.listen(port, () => {
  console.log(`Server is running at http://localhost:${port}/`);
});

启动项目:node app.js
在这里插入图片描述
通过浏览器测试访问:
在这里插入图片描述
后续,我们对以上接口添加JWT验证,通过apisix进行访问。一般情况下后端服务的ip都是内网ip,外网是访问不到的。

关于在空项目目录下:执行 npm init 或npm init -y的区别?
在这里插入图片描述
在这里插入图片描述

配置上游

这里的上游,就是我们上面创建的后端服务项目
在这里插入图片描述
在这里插入图片描述

再创建一个路由

这个路由和之前创建的那个路由,不一样,这个路由要和我们的上游服务进行绑定,在apisix接收到此路由的url后,会根据此处的路由和上游的绑定关系,将请求转发到指定的上游。在此路由的设置上还可以绑定一些插件,如jwt-auth等,这样当apisix接收到匹配此路由的地址后,会先进行认证校验,校验成功后,才会将请求转发到指定的后端。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

测试

流程是:客户端(浏览器)——>先请求apisix网关——>再转发给上游服务(后端服务)
由于在路由层面配置了JWT认证,所以这里会先进行JWT认证,认证成功后,才会转发到上游服务。
在这里插入图片描述
先获取JWT Token
在这里插入图片描述
为了方便测试:接下来使用APIPOST工具
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关文章:

  • 本地快速搭建一套AI人脸识别技术研究学习的实验环境
  • 【Yonghong GoldenDB 】GoldenDB 安装部署
  • 深度学习-10.门控循环网络
  • AI数字人技术源码开发分享:革新短视频营销策略
  • DaoCloud 亮相 2025 GDC丨开源赋能 AI 更多可能
  • Python实现GO鹅优化算法优化Catboost回归模型项目实战
  • k8s新增Node节点 简单易上手 如何给k8s新添加node节点
  • 千字详解Spring bean的作用域
  • std::set详解与应用:生成不重复的字符,确保每个字符唯一
  • Linux驱动学习(三)--字符设备架构与注册
  • 理解 Rust 的并发特性:`Send` 和 `Sync` 特征
  • 《Qt窗口动画实战:Qt实现呼吸灯效果》
  • 爬虫获取阿里巴巴 item_search 接口:根据关键字获取在售商品数据
  • 3-1 WPS JS宏工作簿的新建与保存(批量新建工作簿)学习笔记
  • yolov8_pose模型,使用rknn在安卓RK3568上使用
  • 如何正确的用 Cursor 打开 Unity 项目
  • Android 12系统源码_多屏幕(四)自由窗口模式
  • [原创]openwebui解决searxng通过接口请求不成功问题
  • Linux mount命令
  • C# 中 Array、ArrayList 和 List 的比较
  • 潍坊大型网站建设/站长工具百度百科
  • 做网站怎样盈利/nba今日数据
  • 创建企业营销网站包括哪些内容/搜索量查询百度指数
  • 深圳网站定制公司/百度seo和谷歌seo有什么区别
  • 北京市朝阳区网站制作/如何做电商新手入门
  • 网站模板免费下载代码/全网营销推广公司