spring|spring cloud gateway转发服务报错的解决
目录
- spring cloud gateway转发服务报错
- 错误如下
- 解决方案
- 使用gateWay做为网关遇到的404问题
- GateWay有几个重要的配置,也是最重要的东西
- 我在项目中访问gateWay服务的时候
spring cloud gateway转发服务报错
错误如下
javax.net.ssl.SSLHandshakeException: error:1000009c:SSL routines:OPENSSL_internal:HTTP_REQUEST在spring cloud gateway项目中,使用了SSL验证后,为了增加系统性能,引入了netty-tcnative-boringssl-static依赖来增加性能后,在项目中一些http请求访问gateway时,就会报以上错误。
解决方案
检查系统中是否有http请求去访问gateway,将http请求改为https。
使用gateWay做为网关遇到的404问题
GateWay有几个重要的配置,也是最重要的东西
gateway.discovery.enable:true,开启服务发现路由,意思是在nacos等注册中心中可以发现服务
routes路由,可以理解为模块,在服务中心中注册的每一个模块,
id
:唯一的没有什么特别意义,与服务名同名即可Uri
:注册中心中服务的名字,通过这个名字来转发,也可以是地址。Predicates
:-Path=/a/**
【spring|spring cloud gateway转发服务报错的解决】
我在项目中访问gateWay服务的时候
GateWay服务端口是7777称为A
通过GateWay服务要访问到的端口是8888称为B
http://localhost:7777/a/xxxx按理说是可以访问到B服务的,A服务也去注册中心中去找配置中断言为a的uri服务了,然后就一直是404,然后看了一下文档,原来是自己粗心了
我访问的地址是/a/xx,去找这个服务了,但是并没有发现这个路径,所以404了
还需要一个配置,来让gateWay自动去掉一节路径filters: -StripPrefix=1
前端访问的没改,但是后端gateway会自动去掉路径中间的a。
大功告成!以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
推荐阅读
- Activiti(一)SpringBoot2集成Activiti6
- SpringBoot调用公共模块的自定义注解失效的解决
- 解决SpringBoot引用别的模块无法注入的问题
- 2018-07-09|2018-07-09 Spring 的DBCP,c3p0
- spring|spring boot项目启动websocket
- Spring|Spring Boot 整合 Activiti6.0.0
- Spring集成|Spring集成 Mina
- springboot使用redis缓存
- Spring|Spring 框架之 AOP 原理剖析已经出炉!!!预定的童鞋可以识别下发二维码去看了
- Spring|Spring Boot之ImportSelector