接口請求控制工具

接口請求控制工具

    • 功能說明
      • 代理轉發
      • 安全控制
      • 訪問控制
      • 錯誤處理
      • 配置管理
      • 日志管理
    • 技術棧
    • 快速開始
      • 環境要求
      • 配置說明
      • 啟動服務
    • 工具源碼

功能說明

代理轉發

  • 支持多路由配置
  • 支持靜態資源代理
  • 靈活的路由規則配置
  • 支持請求轉發和響應處理
  • 支持負載均衡
    • 支持多目標服務器配置
    • 提供多種負載均衡策略:
      • 輪詢(Round Robin)
      • 隨機(Random)
      • 加權輪詢(Weighted Round Robin)
      • 加權隨機(Weighted Random)
      • 最小連接數(Least Connections)
    • 支持服務器權重配置
    • 動態連接數跟蹤

安全控制

  • XSS 防護:

    • 自動檢測和攔截 XSS 攻擊
    • 可配置的 XSS 過濾規則
    • 按路由配置是否啟用
  • CSRF 防護:

    • 基于 Token 的 CSRF 防護
    • 支持安全方法豁免(GET、HEAD等)
    • 按路由配置是否啟用
  • 文件上傳控制:

    • 可配置的文件類型白名單
    • 可配置的文件大小限制
    • 文件名安全檢查
    • 按路由配置是否啟用

訪問控制

  • IP 黑白名單:

    • 支持 IP 白名單配置
    • 支持 IP 黑名單配置
    • 動態的 IP 封禁機制
  • 請求頻率限制:

    • 基于令牌桶算法
    • 可配置的請求速率
    • 按路由獨立限制

錯誤處理

  • 自定義錯誤頁面:
    • 502:目標服務器無響應
    • CSRF:CSRF 驗證失敗
    • static-404:靜態資源未找到
    • 403:IP 被臨時封禁
    • 404:路由未找到
    • 429:請求頻率超限
    • 500:服務器內部錯誤
  • 友好的錯誤提示
  • 詳細的錯誤日志記錄

配置管理

  • 路由配置:

    {"routes": {"/api": {"targetUrls": ["http://localhost:8080","http://localhost:8081"],"loadBalance": {"strategy": "WEIGHTED_ROUND_ROBIN","weights": {"http://localhost:8080": 3,"http://localhost:8081": 2}},"rateLimit": 10,"isStatic": false,"security": {"enableXssFilter": true,"enableCsrfFilter": true,"enableFileUploadFilter": true,"fileUpload": {"maxFileSize": 10485760,"allowedFileTypes": ["image/jpeg","image/png","image/gif","application/pdf","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document"]}}}}
    }
    
  • IP 白名單配置:

    ["127.0.0.1", "192.168.1.100"]
    
  • IP 黑名單配置:

    {"192.168.1.200": {"banTime": "2024-03-10T10:00:00","reason": "頻繁訪問"}
    }
    

日志管理

  • 代理請求日志
  • 錯誤日志
  • 安全事件日志
  • 按日期自動歸檔
  • 可配置的日志級別

技術棧

  • Spring Boot 2.3.4
  • Thymeleaf
  • Lombok
  • Commons Pool2

快速開始

環境要求

  • JDK 8+
  • Maven 3.6+

配置說明

  1. 配置文件位置:源碼/config/
  2. 主要配置文件:
    • proxy-routes.json:代理路由配置
      • targetUrls:目標服務器地址列表
      • loadBalance:負載均衡配置
        • strategy:負載均衡策略
        • weights:服務器權重配置(可選)
      • rateLimit:請求頻率限制
      • isStatic:是否為靜態資源
      • security:安全配置
    • ip-whitelist.json:IP白名單配置
    • ip-blacklist.json:IP黑名單配置

啟動服務

  1. 編譯項目:

    mvn clean package
    
  2. 運行服務:

    java -jar target/SpringBoot-1.0-SNAPSHOT-execute.jar
    
  3. 默認端口:10020

工具源碼

接口請求控制工具

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/76408.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/76408.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/76408.shtml

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

相關文章

Linux: 進程認識(組織進程)

進程認識 (一)馮諾依曼體系結構1.概念從數據流向上理解馮諾依曼 (二)操作系統(OS)1.概念2.設計目的3. 如何理解操作系統的 "管理"4.操作系統調用接口 (三) 進程1.概念2.描述進程-PCB3.如何對PCB進行管理? &a…

回文日期1

#include <iostream> using namespace std;bool isLeap(int y){return (y%40&&y%100!0)||(y%4000); }bool check(int year,int month,int day){//判斷是否為合法日期if(month>12||month0) return false;if(day>31) return false;if(month2){if(isLeap(year…

安寶特案例 | 某戶外機房制造企業應用AR+作業流,規范制造過程,記錄施工節點,保障交付質量

行業特點&#xff1a;產品客制化、依賴人工&#xff0c;工程量大、細節多&#xff0c;驗收困難 戶外通訊機房無疑是現代工業社會的“信息心臟”&#xff0c;承載著信息交換、傳輸與處理的重任。建設一座質量過關的戶外通訊機房是保障通信穩定運行的基石。 通常建設一個戶外通信…

deepseek熱度已過?

DeepSeek的熱度并沒有消退&#xff0c;以下是具體表現&#xff1a; 用戶使用量和下載量方面 ? 日活躍用戶量增長&#xff1a;DeepSeek已經成為目前最快突破3000萬日活躍用戶量的應用程序。 ? 應用商店下載量&#xff1a;1月26日&#xff0c;DeepSeek最新推出的AI聊天機器人…

藍橋杯單片機刷題——通過按鍵觸發串口傳輸電壓值

設計要求 通過內部ADC完成電位器RB2的輸出電壓檢測&#xff0c;并顯示在數碼管上&#xff1b; 通過串口向PC端返回當前檢測的電壓值。 按鍵“S4”定義為發送按鍵&#xff0c;按下按鍵S4&#xff0c;串口向PC端發送當前檢測的電壓值。 串口發送格式&#xff1a; U:1.25V\r\…

DeepSeek 都開源了哪些技術?

DeepSeek作為中國領先的人工智能企業,通過開源策略推動了全球AI技術的普及與創新。以下是其官方公布的主要開源項目及其技術內容、應用場景和社區反饋的詳細分析: 1. FlashMLA 技術描述:專為Hopper架構GPU優化的高效MLA(Multi-Layer Attention)解碼內核,針對可變長度序列…

【北京市小客車調控網站-注冊/登錄安全分析報告】

前言 由于網站注冊入口容易被黑客攻擊&#xff0c;存在如下安全問題&#xff1a; 暴力破解密碼&#xff0c;造成用戶信息泄露短信盜刷的安全問題&#xff0c;影響業務及導致用戶投訴帶來經濟損失&#xff0c;尤其是后付費客戶&#xff0c;風險巨大&#xff0c;造成虧損無底洞…

【SQL Server 2017】封閉網絡下,數據調研所有數據表實戰(提效400%)

?? 點擊關注不迷路 ?? 點擊關注不迷路 ?? 點擊關注不迷路 文章大綱 一、Microsoft SQL Server-2017,環境搭建命令二、借助 @@VERSION 函數來查看當前版本三、查詢Microsoft SQL Server數據庫、表名、表注釋四、所有數據表取樣(SQL生成),查詢前2條數據,數據取樣五、執…

【網絡協議】WebSocket講解

目錄 webSocket簡介 連接原理解析: 客戶端API 服務端API&#xff08;java&#xff09; 實戰案例 &#xff08;1&#xff09;引入依賴 &#xff08;2&#xff09;編寫服務端邏輯 &#xff08;3&#xff09;注冊配置類 &#xff08;4&#xff09;前端連接 WebSocket 示例…

路由器端口映射設置方法教程,和無公網IP內網穿透實現外網訪問方案步驟

隨著網絡技術的不斷發展&#xff0c;越來越多的個人和企業需要將自己的內部服務器或設備暴露給外部網絡訪問。這時&#xff0c;內網端口映射公網技術就顯得尤為重要。下面&#xff0c;我們將分別詳細介紹&#xff0c;有公網IP時如何設置路由器端口映射&#xff0c;和無公網IP內…

Linux 系統中從源碼編譯安裝軟件

以下是 Linux 系統中 從源碼編譯安裝軟件 的詳細步驟和注意事項&#xff0c;幫助你掌握這一高級操作技能&#xff1a; 一、編譯安裝的核心流程 1. 下載源碼包&#xff08;通常為 .tar.gz/.tar.bz2/.tar.xz&#xff09; 2. 解壓源碼包 3. 進入源碼目錄 4. 配置編譯參數&#xf…

HTTP:二.URI及相關術語

HTTP相關技術和術語 WEB開發語言 **http:**Hyper Text Transfer Protocol 應用層協議,默認端口: 80/tcp WEB前端開發語言: htmlcssjavascripthtml Hyper Text Markup Language 超文本標記語言,編程語言,主要負責實現頁面的結構 范例:html 語言 <html> <h…

Java網絡編程干貨

1.網絡編程是什么 了解 在Java語言中&#xff0c;我們可以使用java.net包下的技術輕松開發出常見的網絡應用程序&#xff0c;從而把分布在不同地理區域的計算機與專門的外部設備用通信線路互連成一個規模大、功能強的網絡系統&#x…

Java—HTML:CSS選擇器

今天我要介紹的知識點內容是Java HTML中的CSS選擇器&#xff1b; CSS選擇器用于定位HTML元素并為其添加樣式。它允許我們控制網頁的顏色、字體、布局和其他視覺元素。通過分離內容與樣式。 下面我將介紹CSS中選擇器的使用&#xff0c;并作舉例說明&#xff1b; 選擇器基本語…

【2025藍橋杯】賽前2小時考點梳理C++版

【2025藍橋杯】賽前2小時考點梳理 1. &#x1f9e9; STL&#xff08;優先級最高&#xff09; 核心容器/函數 vector push_back() / pop_back() / size()string substr(pos, len) / find(str) / queue push() / front() / pop()priority_queue 默認大根堆&#xff0c;小根堆&…

汽車性能的幕后保障:慧通測控電動尾翼綜合力學測試淺析

在汽車性能不斷追求極致的當下&#xff0c;電動尾翼已成為眾多高性能車型以及部分新能源汽車提升空氣動力學表現與操控穩定性的關鍵配置。從炫酷的超跑到注重續航與駕駛體驗的新能源車&#xff0c;電動尾翼正逐漸嶄露頭角。它絕非僅僅是外觀上的裝飾&#xff0c;而是能在車輛行…

2、文件上傳漏洞的防范

原文地址:文件上傳漏洞的防范 更多內容請關注&#xff1a;代碼安全 PHP安全編碼——書寫安全的代碼 文件上傳漏洞的防范 提問 問題1&#xff1a;上傳漏洞是怎么產生的&#xff1f; 問題2&#xff1a;是否可以只用js判斷文件類型而php不判斷&#xff1f; 問題3&#…

06軟件測試需求分析案例-添加用戶

給職業顧問部的老師添加用戶密碼后&#xff0c;他們才能登錄使用該軟件。只有admin賬戶具有添加用戶、修改用戶信息、刪除用戶的權利。admin是經理或團隊的第一個人的賬號&#xff0c;后面招一個教師就添加一個賬號。 通讀需求是提取信息&#xff0c;提出問題&#xff0c;輸出…

Ex-Human:在DigitalOcean云平臺之上,構建下一代 AI 數字人

Ex-Human 正在通過創造極具吸引力和富有同理心的人工智能角色&#xff0c;重新定義人們與人工智能的互動方式。該公司由 Artem Rodichev 創立&#xff0c;讓用戶能夠通過文本、圖像、視頻和音頻創建能互動的獨一無二的數字人物。憑借每月超過一百萬的活躍用戶和五百萬個定制創建…

從零實現HTTP服務器

響應&#xff1a; 第一部分測試代碼&#xff0c;讀取請求 Makefile binhttpserver #生成的可執行程序 ccg #編譯器名稱 LD_FLAGS-stdc11 -lpthread #-DDEBUG1 #鏈接選項 srcmain.cc$(bin):$(src)$(cc) -o $ $^ $(LD_FLAGS).PHONY:clean clean:rm -f $(bin) 1111111 main.cc…