Istio - TrafficManagement - Rewrite

简介: HTTP Rewrite 将请求转发给目标服务前修改HTTP请求中指定部分的内容,这个不同于重定向,重定向对用户是可见,重写对用户是不可见的,因为是在服务端进行的。

> HTTP Rewrite 将请求转发给目标服务前修改HTTP请求中指定部分的内容,这个不同于重定向,重定向对用户是可见,重写对用户是不可见的,因为是在服务端进行的。


#### 什么场景需要用到重写

在生产环境中,经常有一些 url 变更的需求,同时又需要做到对请求透明友好,又或者是类似一些 url 路径需要起多一个别名的效果,都是可以通过重写去简单的实现。


#### 通过例子来理解

image.jpeg

对于 httpd-service 匹配到前缀是 /check 的请求都会被重写到 nginx-service 的 /api/health,同时参数也将一起重写。


apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:   name: httpd-vs
spec:  hosts:  - httpd-service
  http:  - match:    - uri:        prefix: /check
    rewrite:      uri: /api/health
    route:     - destination:        host: nginx-service


和Redirect规则稍有不同的是,Redirect的uri只能替换全部的Path,Rewrite的uri是可以重写前缀的,即如果原来匹配条件是前缀匹配,则修改后只修改匹配到的前缀。

目录
相关文章
|
5月前
|
安全 应用服务中间件 Linux
Debian操作系统如何安装Nginx并开启HTTP2
本指南介绍了在Linux系统中通过源码编译安装Nginx的完整流程。首先更新软件包列表并安装必要的编译依赖,接着下载指定版本的Nginx源码包(如1.24.0),检查文件完整性后解压。随后通过配置脚本指定安装路径与模块(如HTTP SSL模块),执行编译和安装命令。最后创建软链接以便全局调用,并提供启动、停止及重载Nginx的命令,同时提醒注意安全组设置以确保正常访问。
|
传感器 运维 物联网
蓝牙Mesh网络:连接未来的智能解决方案
蓝牙Mesh网络:连接未来的智能解决方案
2147 12
|
12月前
|
缓存 应用服务中间件 网络安全
Nginx中配置HTTP2协议的方法
Nginx中配置HTTP2协议的方法
811 7
|
11月前
|
存储 安全 Java
最爱问的高频ConcurrentHashMap原理,你会了吗?
ConcurrentHashMap 是 Java 中的线程安全散列表实现,允许多个线程同时访问和修改数据。它在 JDK 1.7 中通过分段锁机制将 HashMap 分为多个段,每个段使用独立的锁来保证线程安全;而在 JDK 1.8 中则采用 CAS 和 synchronized 结合的方式,提高了并发性能。与 HashMap 相比,ConcurrentHashMap 是线程安全的,支持更高的并发性能,且不支持 null 键和值。CAS(Compare-and-Swap)是一种无锁原子操作,用于确保多线程环境下的数据一致性,避免竞态条件。
471 5
|
12月前
|
监控
DDN是什么,DDN专线的优势详解
数字数据产品是基于数字数据网(Digital Data Network,简称DDN),利用数字信道提供永久性或半永久性连接电路来传输数据信号的服务。
577 0
|
数据采集 机器学习/深度学习 算法
Python实现用PSO粒子群优化算法对KMeans聚类模型进行优化项目实战
Python实现用PSO粒子群优化算法对KMeans聚类模型进行优化项目实战
|
Java API
JDK8到JDK25版本升级的新特性问题之使用Collectors.teeing()来计算一个列表中学生的平均分和总分如何操作
JDK8到JDK25版本升级的新特性问题之使用Collectors.teeing()来计算一个列表中学生的平均分和总分如何操作
|
监控 安全 数据库
帧中继的特点解析
【8月更文挑战第24天】
346 0
|
算法
计算机网络:封装成帧 & 透明传输 & 差错检测
计算机网络:封装成帧 & 透明传输 & 差错检测
457 0