zuul转发服务一直报404_SpringCloud之Zuul的多个使用场景
![](/assets/blank.gif)
Zuul Http客户端
- Zuul使用的默认HTTP客户端现在由Apache HTTP Client支持,而不是已经不推荐使用的Ribbon RestClient。
- 要使用RestClient或okhttp3.0kHttpClient,请分别设置
![](/assets/blank.gif)
如果要自定义Apache HTTP客户端或OK HTTP客户端,请提供ClosableHttpClient或OkHttpClient类型的bean。
Cookies and Sensitive Headers
配置文件application.yml中设置
![](/assets/blank.gif)
这里sensitiveHeaders是默认值,所以当你希望它不同时,才需进行设置。 这是Spring Cloud Netflix 1.1中的新功能(在1.0中,用户无法控制标题,并且所有Cookie都在两个方向上流动)。
sensitiveHeaders是黑名单,且默认不为空。 因此,要使Zuul发送所有标头(忽略的标头除外),您必须将其明确设置为空列表。 如果要将cookie或授权标头传递到后端,则必须这样做。 以下示例显示了如何使用sensitiveHeaders:
![](/assets/blank.gif)
您还可以通过设置sensitiveHeaders来设置zuul.sensitiveHeaders。 如果在路由上设置了sensitiveHeaders,它将覆盖全局sensitiveHeaders设置。
Ignored Headers
- 常规理解:
- zuul.ignoreHeaders属性可用于丢弃一些标题。
- 例如,设置zuul.ignoredHeaders = Header1,Header2; 那么Header1和Header2将不会传播到任何其他服务。
- 默认情况下,zuul.ignoredHeaders=是空的。但如果Spring Securuty在classpath中。 它的值在是:
![](/assets/blank.gif)
zuul.ignoreSecurityHeaders的默认值为true。但是当我想要标头值的值时 从下游服务我们需要设置为false。
- 通俗来讲就是:
- 除route-sensitive外,您还可以将与下游服务交互期间应丢弃的值(请求和响应)设置名为zuul.ignoredHeaders的全局值。 默认情况下,如果Spring Security不在类路径中,则它们为空。 否则,它们被初始化为一组众所周知的“安全”头文件(例如,涉及缓存),如Spring Security所指定的那样。 在这种情况下的假设是下游服务也可能添加这些头,但我们想从代理中获得这些值。 如果要在Spring Security位于类路径时不丢弃这些众所周知的security headers,可以将zuul.ignoreSecurityHeaders设置为false。 如果您在Spring Security中禁用了HTTP安全响应标头并希望下游服务提供的值,那么这样做会非常有用。
Routes Endpoint
- 使用routes 端点的前提:
- Zuul Server需要有Spring Boot Actuator的依赖,否则访问/routes 端点将会返回404;
- 设置management.security.enabled = false,否则将会返回401;也可添加Spring Security的依赖,这样可通过账号、密码访问routes 端点。
Strangulation Patterns and Local Forwards
标题: 扼杀模式和本地转发
迁移现有应用程序或API时的一种常见模式是“扼杀”旧端点,慢慢用不同的实现替换它们。 Zuul代理是一个有用的工具,因为您可以使用它来处理来自旧端点的客户端的所有流量,但将一些请求重定向到新的端点。
以下示例显示“strangle”方案的配置详细信息:
- application.yml配置示例:
![](/assets/blank.gif)
==[注意]== 忽略的模式不会被完全忽略,它们只是不由代理处理(因此它们也可以在本地有效转发)。
Uploading Files through Zuul
标题: 通过zuul上传文件
- 如果使用@EnableZuulProxy注解,可以用代理路径上传文件,只要文件很小,它就可以正常工作。
![](/assets/blank.gif)
- 而对于大型文件,需要使用一个替代路径绕过/zuul/*中的Spring DispatcherServlet; 即使用/zuul/*的方式绕过Spring DispatcherServlet(以避免多部分处理)
![](/assets/blank.gif)
- application.yml配置中需要加如下语句,主要是为了避免文件过大和上传超时:
![](/assets/blank.gif)
Disable Zuul Filters
标题: 禁用zuul过滤器
SpringCloud在代理和服务器模式下都默认启用了许多ZuulFilter bean。
有关可以启用的过滤器列表,请参阅Zuul过滤器包。
https://github.com/spring-cloud/spring-cloud-netflix/tree/master/spring-cloud-netflix-zuul/src/main/java/org/springframework/cloud/netflix/zuul/filters
如果要禁用一个过滤器,请参照如下设置zuul...disable=true;按照惯例,过滤器后的包是Zuul过滤器类型。
例如,要禁用org.springframework.cloud.netflix.zuul.filters.post.SendResponseFilter需设置zuul.SendResponseFilter.post.disable = true
zuul转发服务一直报404_SpringCloud之Zuul的多个使用场景相关推荐
- Zuul网关服务使用详解
1.微服务架构所面临的问题? 1)针对某个功能,客户端在微服务架构的情况下需要请求多个模块接口 2)针对于身份认证.日志.流量控制等公共模块每个微服务都需要做一遍,不利于业务与非业务的拆分 针对于这些 ...
- springboot+Zuul网关服务
springboot+Zuul网关服务 点关注不迷路,欢迎再来! 精简博客内容,尽量已专业术语来分享. 努力做到对每一位认可自己的读者负责. 帮助别人的同时更是丰富自己的良机. 网关服务有效的降低维护 ...
- 认识微服务(七)之 Zuul 网关
认识微服务(七)之 Zuul 网关 1 简介 2 Zuul 加入后的架构 3 快速入门 3.1 新建工程 3.2 编写启动类 3.3 编写配置 3.4 编写路由规则 3.5 启动测试 4 面向服务的路 ...
- Zuul微服务网关、容错与监控、Zuul路由端点、路由配置、Zuul上传文件、Zuul过滤器、Zuul异常处理、Zuul回退、Zuul聚合微服务
一.为什么要使用微服务网关 二.Zuul 1.编写Zuul微服务网关 2.Zuul的Hystrix容错与监控 3.Zuul的路由端点 4.路由配置 1.自定义指定微服务的访问路径 2.忽略指定微服务 ...
- 软件架构-zuul微服务网关(上)
不知不觉,文章都写100篇了,从0到1,从1到100,感谢老铁们的支持,不同的微服务一般有不同的网络地址,而外部的客户端可能需要调用多个服务的接口才能完成一个业务需求.比如一个电影购票的收集APP,可 ...
- 微服务(六)网关zuul
微服务(六)网关zuul 1.网关zuul 2.负载均衡 1.网关zuul 微服务基本模块已经有了,也可以做微服务了.但完成一个复杂的业务,可能需要多个微服务合作来完成,比如下单,需要用户服务,支付服 ...
- SpringCloud→SpringCloud搭建Zuul动态服务网关(五)
文章目录 SpringCloud搭建Zuul动态服务网关 网关分类 开放Api 微服务网关 API服务管理平台 网关设计 开放API接口 内网API接口 网关框架 使用Zuul实现反向代理 使用Zuu ...
- SpringBoot+Euraka+Zuul实现服务路由的服务
这个标题有点儿绕,咋 还是服务路由的服务了? 首先,Zuul最后也会做成一个Eureka Client 服务,注册到 Eureka Server 上,所以,后一个服务说的是Zuul 项目本身也是一个 ...
- Zuul转发请求时HttpHostConnectException can‘t cast to ZuulException问题解决方法
Zuul转发请求时HttpHostConnectException can't cast to ZuulException问题解决方法 参考文章: (1)Zuul转发请求时HttpHostConnec ...
最新文章
- java 启动 jetty_如何通过命令行启动或者关闭 Jetty 服务器
- iphone开发如何测试?
- 神策数据如何助力36氪实现数据运营?
- Java 反射(Class class相关)
- android 线程使用监控思路分享
- 【博弈论】势博弈(potential game)、EPG以及最佳响应、Nash均衡和帕累托(pareto)最优的理解
- 从零开始写一个武侠冒险游戏-4-第一次整合
- 县级公立医院改革明年推开 今年再增700试点
- c语言.jpg图片转成数组_图片可以转Word吗?教你两种方法轻松转换
- 玄幻:开局选择瑶池,我只想默默签到!(三)
- 网络原创文章版权维护的辅助好工具copycheck抄袭检测软件
- 微信小程序加入企业微信群聊
- Agilent RF fundamentals (7) Oscillator characterization
- html中图片自动循环滚动代码,JavaScript代码实现图片循环滚动效果
- 爬虫实战——起点中文网小说的爬取
- 【转】C# 对sqlite基本操作,带批量插入
- 项目开发经验谈之:设计失败的挫败感
- 地震图像处理基本理论(一)
- 资深建模大师所涉及的必备软件你知道哪些?
- win11更改系统字体的方法
热门文章
- python3读取excel方法封装_python-excel读写封装
- html目录参数加密,从HTML文件中取出JS加密需要的参数,并调用js内的加密算法
- 动态添加表格点击事件
- php 检测键名,【PHP教学|带你学习用PHP检测键名是否位于数组中,方法已经告诉你了,如果你想学就赶紧】- 环球网校...
- ir指令、立即数的作用_ARM指令中使用立即数详解
- Java Servlet 使用slf4j配置log4j
- 计算机电路基础填空题,计算机电路基础期末复习练习题.doc
- kind富文本编辑器_kind富文本编辑器
- CPU飙高 解决方法
- Springboot+Mysql物流快递在线寄查快递系统