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.pswp.cn/bicheng/72205.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/72205.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/72205.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【WPF】綁定報錯:雙向綁定需要 Path 或 XPath

背景 最開始使用的是 TextBlock: <ItemsControl ItemsSource"{Binding CameraList}"><ItemsControl.ItemsPanel><ItemsPanelTemplate><StackPanel Orientation"Horizontal"/></ItemsPanelTemplate></ItemsControl.Item…

Kotlin協變與逆變區別

在Kotlin中&#xff0c;協變和逆變是泛型編程中的兩個重要概念&#xff0c;它們允許我們在類型系統中更加靈活地處理類型關系。 1.協變&#xff1a;協變允許我們使用比原始類型更具體的類型。在kotlin中&#xff0c;通過在類型參數上加out關鍵字來表示協變,生產者&#xff0c;例…

如何調試Linux內核?

通過創建一個最小的根文件系統&#xff0c;并使用QEMU和GDB進行調試。 1.準備工作環境 確保系統上安裝了所有必要的工具和依賴項。 sudo apt-get update //更新一下軟件包 sudo apt-get install build-essential git libncurses-dev bison flex libssl-dev qemu-system-x…

Java 調試模式下 Redisson 看門狗失效

一、場景分析 前幾天在做分布式鎖測試&#xff1a; 在調試模式下&#xff0c;lock.lock() 之后打上斷點&#xff0c;想測試一下在當前線程放棄鎖之前&#xff0c;別的線程能否獲取得到鎖。 發現調試模式下&#xff0c;看門狗機制失效了&#xff0c;Redis 上 30 秒后&#xff0…

GPT-4.5震撼登場,AI世界再掀波瀾!(3)

GPT-4.5震撼登場&#xff0c;AI世界再掀波瀾! GPT-4.5震撼登場&#xff0c;AI世界再掀波瀾!(2) &#xff08;一&#xff09;倫理困境&#xff1a;如何抉擇 GPT-4.5 的強大功能在為我們帶來諸多便利的同時&#xff0c;也引發了一系列深刻的倫理問題&#xff0c;這些問題猶如高…

【數據挖掘】Pandas

Pandas 是 Python 進行 數據挖掘 和 數據分析 的核心庫之一&#xff0c;提供了強大的 數據清洗、預處理、轉換、分析 和 可視化 功能。它通常與 NumPy、Matplotlib、Seaborn、Scikit-Learn 等庫結合使用&#xff0c;幫助構建高效的數據挖掘流程。 &#x1f4cc; 1. 讀取數據 P…

七、JOIN 語法詳解與實戰示例

一、JOIN 的作用與分類 JOIN 操作用于合并兩個或多個表的行&#xff0c;基于表之間的關聯字段。以下是常見的 JOIN 類型&#xff1a; JOIN 類型描述INNER JOIN返回兩個表匹配的記錄LEFT JOIN返回左表所有記錄 右表匹配記錄&#xff08;右表無匹配則為NULL&#xff09;RIGHT …

2019年01月全國POI數據分享(同源歷史POI分享系列)

2019年01月全國范圍POI數據 2019年01月份全國范圍歷史POI數據&#xff0c;全國范圍所有類別共59336781個POI 2019年01月全國范圍POI數據按大類統計 大類代碼大類名稱2019年01月該類POI數量010000汽車服務1151164020000汽車銷售213647030000汽車維修517367040000摩托車服務1800…

Spring Boot + MyBatis 實現 RESTful API 的完整流程

后端開發&#xff1a;Spring Boot 快速開發實戰 引言 在現代后端開發中&#xff0c;Spring Boot 因其輕量級、快速開發的特性而備受開發者青睞。本文將帶你從零開始&#xff0c;使用 Spring Boot MyBatis 實現一個完整的 RESTful API&#xff0c;并深入探討如何優雅地處理異…

使用Python開發以太坊智能合約:輕松入門與深度探索

使用Python開發以太坊智能合約&#xff1a;輕松入門與深度探索 隨著區塊鏈技術的快速發展&#xff0c;以太坊作為最為成熟和廣泛使用的智能合約平臺&#xff0c;成為了開發去中心化應用&#xff08;DApp&#xff09;的核心工具。智能合約不僅是區塊鏈技術的基礎&#xff0c;更…

ES scroll=1m:表示快照的有效時間為1分鐘。怎么理解

在Elasticsearch中&#xff0c;scroll1m 表示你創建的 scroll 上下文 的有效時間為 1分鐘。這個參數控制了你可以在多長時間內繼續使用這個 scroll_id 來獲取更多的數據。 什么是 Scroll 上下文&#xff1f; 當你使用 scroll API 時&#xff0c;Elasticsearch 會為你的查詢創…

Linux與UDP應用1:翻譯軟件

UDP應用1&#xff1a;翻譯軟件 本篇介紹 本篇基于UDP編程接口基本使用中封裝的服務器和客戶端進行改寫&#xff0c;基本功能如下&#xff1a; 從配置文件dict.txt讀取到所有的單詞和意思客戶端向服務端發送英文服務端向客戶端發送英文對應的中文意思 配置文件內容 下面的內…

Jeecg-Boot 開放接口開發實戰:在 Jeecg-Boot 的jeecg-system-biz中添加一個controller 實現免鑒權數據接口

Jeecg-Boot 開放接口開發實戰&#xff1a;在 Jeecg-Boot 的jeecg-system-biz中添加一個controller 實現免鑒權數據接口 一、場景需求分析 在微服務架構中&#xff0c;常需要快速實現以下兩類接口&#xff1a; 開放接口&#xff1a;無需登錄即可訪問&#xff08;如數據查詢、…

C++ ++++++++++

初始C 注釋 變量 常量 關鍵字 標識符命名規則 數據類型 C規定在創建一個變量或者常量時&#xff0c;必須要指定出相應的數據類型&#xff0c;否則無法給變量分配內存 整型 sizeof關鍵字 浮點型&#xff08;實型&#xff09; 有效位數保留七位&#xff0c;帶小數點。 這個是保…

構建安全的Docker基礎鏡像:從最佳實踐到自動化加固

引言 容器化技術的普及使得Docker鏡像成為軟件交付的核心載體,但鏡像中的安全漏洞、敏感信息泄露和權限配置不當等問題可能引發嚴重風險。本文結合OWASP容器安全指南與一線運維經驗,系統化講解如何構建安全的Docker基礎鏡像,覆蓋鏡像構建、依賴管理、運行時防護全鏈路,并提…

BKA-CNN基于黑翅鳶算法優化卷積神經網絡的數據多特征分類預測Matlab

BKA-CNN基于黑翅鳶算法優化卷積神經網絡的數據多特征分類預測Matlab 目錄 BKA-CNN基于黑翅鳶算法優化卷積神經網絡的數據多特征分類預測Matlab分類效果基本介紹BKA-CNN基于黑翅鳶算法優化卷積神經網絡的數據多特征分類預測一、引言1.1、研究背景和意義1.2、研究現狀1.3、研究目…

SOLID Principle基礎入門

(Robert C. Martin (Uncle Bob)) 什么是SOLID原則&#xff1f; SOLID原則是面向對象編程&#xff08;OOP&#xff09;中編寫高質量代碼的指導方針。實際上&#xff0c;即使不使用SOLID原則&#xff0c;僅通過類、繼承、封裝和多態性&#xff0c;也可以讓程序正常運行。那么為…

輕松實現語音生成:GPT-SoVITS V2整合包的遠程訪問操作詳解

文章目錄 前言1.GPT-SoVITS V2下載2.本地運行GPT-SoVITS V23.簡單使用演示4.安裝內網穿透工具4.1 創建遠程連接公網地址 5. 固定遠程訪問公網地址 前言 今天要給大家安利一個絕對能讓你大呼過癮的聲音黑科技——GPT-SoVITS&#xff01;這款由花兒不哭大佬精心打造的語音克隆神…

Python線程池知多少

目錄 目標 Python版本 官方文檔 概述 線程池 實戰 創建線程池的基本語法 批量提交任務 生產者&消費者模型 目標 掌握線程池的基本概念和使用方法。 Python版本 Python 3.9.18 官方文檔 concurrent.futures — Launching parallel taskshttps://docs.python.org/3…

(轉)SpringBoot和SpringCloud的區別

&#xff08;轉&#xff09;SpringBoot和SpringCloud的區別&#xff1a;