首页 > 其他分享 >apisix~转发到某个静态页

apisix~转发到某个静态页

时间:2024-12-12 08:59:02浏览次数:2  
标签:静态 uri 添加 apisix 转发 mse 路由

路由转发(也称为请求转发或反向代理)是一个核心功能,它允许将客户端的请求转发到后端服务器。Nginx 广泛用于处理高并发的请求,并能够有效地分配流量和管理负载。以下是关于 Nginx 路由转发的一些基本理论和概念。

反向代理

通常作为反向代理服务器工作,接收来自客户端的请求,然后将这些请求转发到一个或多个后端服务器。反向代理的主要优点包括:

  1. 负载均衡:可以将请求分发到不同的后端服务器,以平衡负载。
  2. 安全性:隐藏后端服务器的真实 IP 地址,提高安全性。
  3. 缓存:可以缓存响应结果,从而提高性能并减轻后端的压力。
  4. SSL 终止:可以在 Nginx 中处理 SSL/TLS 加密,减少后端服务器的负担

定义上游

{
  "nodes": [
    {
      "host": "resources.xxx.cn",
      "port": 80,
      "weight": 1
    }
  ],
  "timeout": {
    "connect": 6,
    "send": 6,
    "read": 6
  },
  "type": "roundrobin",
  "scheme": "http", 
  "pass_host": "node",#使用目标节点列表中的主机名或IP,如果pass_host为pass,表示与保持与客户端一致的主机名
  "name": "ad",
  "keepalive_pool": {
    "idle_timeout": 60,
    "requests": 1000,
    "size": 320
  }
}

定义路由规则

  • 下面规则是通用的,表示以/adc开头的URL,被替换为/green/red开头的URL
  • 注意:一个转发规则,添加一个路由,如果多种转发策略,需要为一个服务(上游)添加多个路由,regex_uri最多只有两个元素,第1个是路径策略正则,第2个是转发模板
{
  "uri": "/adc/index.html",
  "name": "ad",
  "methods": [
    "GET",
    "POST",
    "PUT",
    "DELETE",
    "PATCH",
    "HEAD",
    "OPTIONS",
    "CONNECT",
    "TRACE",
    "PURGE"
  ],
  "plugins": {
    "proxy-rewrite": {
      "uri": "/green/red/index.html" # 如果是正则转发,可以配置regex_uri数组
    }
  },
  "upstream_id": "544230536902607619",
  "status": 1
}

添加apisix中添加路由转发

这种方法会反向关联到mse的路由列表中

  • 在apisix的路由配置中,添加指定域名的转发策略,转发前缀与上面的/adc保持一致

  • 当你在apisix的网络-路由中添加了对接的域名转发策略之后,在mse网关上,通过路由 模块,也可以看到之前添加的转发策略

在MSE中添加路由转发

  • 为你的目标服务在mse中添加服务,如apisix-gateway这个服务

  • 在mse中添加路由,指定真实域名,转发策略,上游服务等,发布路由后可正常工作

标签:静态,uri,添加,apisix,转发,mse,路由
From: https://www.cnblogs.com/lori/p/18601398

相关文章

  • 计算机组成原理(四):ELF和静态链接
    ELF文件ELF(ExecutableandLinkableFormat)是一种通用的二进制文件格式,广泛用于类Unix系统(如Linux)。它定义了程序在编译后如何组织为可执行文件、目标文件或共享库。Windows的可执行文件格式叫做PE(PortableExecutableFormat)。主要功能目标文件(ObjectFile):编译后的......
  • 【C++】static 知识整理 【静态与局部静态】
    目录类外类内局部静态localstatic类外类内类外C++的静态可以分为两种情况来讨论:在类外和在类内。对于静态变量/函数,链接将只在内部(如果不用static,那么在不同文件定义同名变量会报错)声明定义在其他地方的变量需要使用extern,函数则不需要类内静态变量/方法将与类的所有实例......
  • 泷羽sec专题课笔记-- Windows作业--计算器 / 资源耗尽型恶意代码静态分析
    本笔记为泷羽sec《红队全栈课程》学习笔记,课程请可自行前往B站学习,课程/笔记主要涉及网络安全相关知识、系统以及工具的介绍等,请使用该课程、本笔记以及课程和笔记中提及工具的读者,遵守网络安全相关法律法规,切勿进行违法违规违纪的操作。写在最前面的话,我们为什么要学......
  • 提升代码质量:如何通过静态分析和自动化测试减少Bug
    在现代软件开发中,代码质量是确保系统稳定、可维护、易扩展的基石。而减少软件中的缺陷(Bug)一直是开发团队面临的重要挑战之一。尽管手动调试和代码审查在一定程度上能够帮助识别问题,但随着项目规模和复杂度的增加,手动测试的效率和准确性往往难以满足需求。幸运的是,静态分析和自......
  • web大学生个人网站作业模板——上海旅游景点介绍网页代码 家乡旅游网页制作模板 大学
    家乡旅游景点网页作业制作网页代码运用了DIV盒子的使用方法,如盒子的嵌套、浮动、margin、border、background等属性的使用,外部大盒子设定居中,内部左中右布局,下方横向浮动排列,大学学习的前端知识点和布局方式都有运用,CSS的代码量也很足、很细致,使用hover来完成过渡效果、鼠......
  • url_for函数与静态文件
    在Flask应用程序中,url_for函数的第一个参数为'static'时,通常用于引用静态文件,如CSS、JavaScript文件或图片。这是因为Flask有一个特殊的处理机制来服务于这些类型的资源。让我们深入探讨一下原因。静态文件夹Flask默认会查找一个名为static的文件夹来提供静态文件。这个文件夹......
  • 请说说JS中的索引数组、关联数组和静态数组、动态数组的定义与区别
    在JavaScript中,数组的概念比较灵活,不像一些强类型语言那样区分得那么严格。JS中的数组实际上是一种特殊的对象,既可以像索引数组一样通过数字索引访问元素,也可以像关联数组一样通过字符串键访问元素。所以,严格意义上来说,JS只有动态数组,它兼具了索引数组和关联数组的特性。而静......
  • NAT原理:概念、使用场景、转发流程及规则
    本文分享自天翼云开发者社区《NAT原理:概念、使用场景、转发流程及规则》,作者:x****n网络地址转换(NAT)是一种在计算机网络中将一个网络的IP地址转换为另一个网络的IP地址的技术。它通常用于将私有网络的IP地址映射到公共网络的IP地址,以便在Internet上进行通信。NAT技术解决了IPv4地......
  • Django静态资源配置及配置模版
    前沿:      学友哥手把手带你了解Django静态资源配置及配置模版,涉及资源路由配置,图片,视频媒体资源部署,Django生命流程介绍,模版配置,继承,模板导入.....图文示例,一看就懂。......
  • 【C++】堆栈的使用 | 堆栈的大小 | 动静态分配问题
    栈和堆的使用:1.栈区先定义的变量放到栈底,地址高,后定义的变量放到栈顶,地址低,因此是向下生长的,堆区则相反2.栈区主要存在局部变量和函数参数,其空间的管理由编译器自动完成,无需手动控制,堆区是自己申请的空间,在不需要时需要手动释放3.频繁的申请空间和释放空间,容易造成内存......