欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

spring cloud gateway转发服务报错的解决

时间:2022-02-10 13:49:55|栏目:JAVA代码|点击:

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/**

断言,其实就是匹配路径,匹配方式有很多种,手机不太好敲,大家可以去搜一下

我在项目中访问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。

上一篇:Java线程安全基础概念解析

栏    目:JAVA代码

下一篇:Java中的定时器Timer详解

本文标题:spring cloud gateway转发服务报错的解决

本文地址:http://www.codeinn.net/misctech/192948.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有