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工具
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/25330.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Mac电脑本地部署Deepseek-r1:详细教程与Openwebui配置指南】

文章目录 前言电脑配置&#xff1a;安装的Deepseek版本&#xff1a;使用的UI框架&#xff1a;体验效果展示&#xff1a;本地部署体验总结 部署过程Ollama部署拉取模型运行模型Openwebui部署运行Ollama服务在Openwebui中配置ollama的服务 后话 前言 deepseek最近火的一塌糊涂&a…

老旧android项目编译指南(持续更)

原因 编译了很多项目&#xff0c;找到了一些可观的解决办法 1. android studio里面的jdk版本切换 jdk版本切换在这里&#xff0c;一般安卓开发需要用到4个版本的jdk,jdk8, jdk11, jdk17, jdk21新版的android stuio是默认使用高版本的jdk,所以切换版本是很有必要的 2. 命令…

CST的UAV无人机RCS --- A求解器 - 一维距离像(HRRP)和正弦图(Sinogram)

“高分辨距离像(HRRP&#xff0c;high resolution range profile)是用宽带雷达信号获取的目标散射点复子回波在雷达射线上投影的向量和&#xff0c;它提供了目标散射点沿距离方向的分布信息,其特点是通过发出某一波长的高频信号&#xff0c;通过反射成像时间和位置&#xff0c;…

centos 7 安装python3 及pycharm远程连接方法

安装openssl及python3 cd /tmp #将python3.11.11的安装包下载/tmp目录下 ​ #将python3.11.11的安装包下载/tmp目录下 ​cd /tmp #下载最新的软件安装包 wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz#安装源码编译需要的编译环境 yum -y install gcc z…

smolagents学习笔记系列(番外一)使用DeepSeek API Key + CodeAgent

这篇文章是在 smolagents 官方教程结束后的番外篇&#xff0c;实现了如何使用 DeepSeek API Key CodeAgent 执行你的提示词。 之所以写这篇文章是因为 smolagents 没有提供 DeepSeek 的模型接口&#xff0c;尽管可以通过 HfApiModel 这个类来指定使用与 DeepSeek 相关的模型&…

20250227使用mount命令挂载飞凌OK3588-C的linux R4的文件系统rootfs.img以备修改

rootrootrootroot-X99-Turbo:~/version/OK3588_Linux_fs/linuxfs$ mv m2/ R4 rootrootrootroot-X99-Turbo:~/version/OK3588_Linux_fs/linuxfs$ sudo mount rootfs.img R4/ rootrootrootroot-X99-Turbo:~/version/OK3588_Linux_fs/linuxfs$ sudo umount R4 20250227使用mount命…

【前端基础】Day 1 HTML

总结&#xff1a; 1. Web标准的构成 2. 基本标签 目录 1. Web标准的构成 2. 基本标签 2.1快捷键 2.2.1标题标签 2.2.2段落和换行标签 2.2.3文本格式化标签 2.2.4div和span标签 2.3.1 图像标签和路径 2.3.2路径 2.3.3超链接标签 2.4注释标签 2.5特殊字符 1. Web标准…

推荐3个背景渐变色的wordpress主题

干净、清爽、背景渐变色的wordpress企业主题 ​ 服务类公司wordpress企业主题https://www.jianzhanpress.com/?p8255 红色大气的wordpress企业主题&#xff0c;适合服务行业的公司搭建企业官方网站使用。 ​ wordpress询盘型独立站主题https://www.jianzhanpress.com/?p8258…

LlamaFactory-webui:训练大语言模型的入门级教程

LlamaFactory是一个开源框架&#xff0c;支持多种流行的语言模型&#xff0c;及多种微调技术&#xff0c;同时&#xff0c;以友好的交互式界面&#xff0c;简化了大语言模型的学习。 本章内容&#xff0c;从如何拉取&#xff0c;我已经搭建好的Llamafactory镜像开始&#xff0…

微信小程序-二维码绘制

wxml <view bindlongtap"saveQrcode"><!-- 二维码 --><view style"position: absolute;background-color: #FFFAEC;width: 100%;height: 100vh;"><canvas canvas-id"myQrcode" style"width: 200px; height: 200px;ba…

Python—Excel全字段转json文件(极速版+GUI界面打包)

目录 专栏导读1、背景介绍2、库的安装3、核心代码4、完整代码(简易版)5、进阶版(GUI)总结专栏导读 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手 🏳️‍🌈 博客主页:请点击——> 一晌小贪欢的博客主页求关注 👍 该系列文章专栏:请点击——…

游戏引擎学习第124天

仓库:https://gitee.com/mrxiao_com/2d_game_3 回顾/复习 今天是继续完善和调试多线程的任务队列。之前的几天&#xff0c;我们已经介绍了多线程的一些基础知识&#xff0c;包括如何创建工作队列以及如何在线程中处理任务。今天&#xff0c;重点是解决那些我们之前没有注意到…

Sqlserver安全篇之_启用TLS即配置SQL Server 数据库引擎以加密连接

官方文档 https://learn.microsoft.com/zh-cn/sql/database-engine/configure-windows/configure-sql-server-encryption?viewsql-server-ver16 https://learn.microsoft.com/zh-cn/sql/database-engine/configure-windows/manage-certificates?viewsql-server-ver15&pre…

hbase笔记总结1

hbase是nosql的一种&#xff0c;非关系型数据库&#xff0c;not only sql&#xff0c;可处理大规模、高并发的数据&#xff0c;是web2.0以后的产物hbase的扩展性和灵活性更好&#xff0c;而且筛选能力相较于MySQL更优nosql的四大特点&#xff1a; 灵活的数据模型 &#xff08;1…

RabbitMq高级

目录 1.发送者的可靠性 1.1 .生产者重试机制 1.2.生产者确认机制 1.3.实现生产者确认 1.3.1.开启生产者确认 1.3.2.定义ReturnCallback 1.3.3.定义ConfirmCallback 2.MQ的可靠性 2.1.数据持久化 2.1.1.交换机持久化 2.1.2.队列持久化 2.1.3.消息持久化 2.2.LazyQueu…

kafka-web管理工具cmak

一. 背景&#xff1a; 日常运维工作中&#xff0c;采用cli的方式进行kafka集群的管理&#xff0c;还是比较繁琐的(指令复杂&#xff1f;)。为方便管理&#xff0c;可以选择一些开源的webui工具。 推荐使用cmak。 二. 关于cmak&#xff1a; cmak是 Yahoo 贡献的一款强大的 Apac…

Android应用app实现AI电话机器人接打电话

Android应用app实现AI电话机器人接打电话 --安卓AI电话机器人 一、前言 【Dialer3.0智能拨号器】Android版手机app&#xff0c;由于采用蓝牙电话的方式来调用手机SIM卡发起呼叫、接听来电&#xff0c;并接收和处理通话的声音&#xff0c;通常我们以“蓝牙电话方案”来称呼它。 …

docker简介-学习与参考

docker Docker 是一个开源的应用容器引擎&#xff0c;基于 Go 语言并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xff0c;然后发布到任何流行的 Linux 机器上&#xff0c;也可以实现虚拟化。 容器是完全使用沙箱…

【leetcode hot 100 42】接雨水

错误解法&#xff1a;若height[left]>height[right]则代表有坑 class Solution {public int trap(int[] height) {int left 0;int area 0;while(left<height.length-1){// 找坑int right left1;while(right<height.length-1 && height[left]>height[ri…

Octave3D 关卡设计插件

课程参考链接 这位大佬有在视频合集中有详细的讲解&#xff0c;个人体验过&#xff0c;感觉功能很强大 https://www.bilibili.com/video/BV1Kq4y1C72P/?share_sourcecopy_web&vd_source0a41d8122353e3e841ae0a39908c2181 Prefab资源管理 第一步 在场景中创建一个空物体…