Java 请求 SSL 报错

2023-06-30 09:11:54 +08:00
 dunhanson

错误

2023-06-30 09:05:09.423 [WARN] com.alicloud.openservices.tablestore.core.utils.LogUtil TraceId:3ffa6691-2749-1e72-3682-bc123ff4db53	Failed	RetriedCount:40	com.alicloud.openservices.tablestore.ClientException: Unexpected error: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure 

原因:

可能和我用的 sniproxy 有关系,因为是为了不走外网流量,产生费用,通过 sniproxy 走 tablestore 内网流量。

但具体原因还不清楚怎么解决

目前是一个 tomcat7 项目运行会报错,但是一个 spring boot 项目不会,用的一样版本 JDK8 版本

PS: 网上我搜过很多教程,尝试了不行

1716 次点击
所在节点    Java
6 条回复
corningsun
2023-06-30 09:54:53 +08:00
1 直接用 http 请求,服务端有提供最好,没有的话自己用 ng 之类的再起个本地代理
2 用的什么客户端, 可以搜索下关键词 忽略证书验证
pocketz
2023-06-30 13:03:15 +08:00
tomcat 项目和 springboot 项目用的是同一个 jdk 包吗? jdk 默认会禁止使用某些加密算法

ps:你说你搜过很多教程,总得说说你试过了哪些没有用的解决办法
curvatureship
2023-06-30 13:43:54 +08:00
遇到过同样的问题,这种是代理的问题,换成 socks 代理问题解决了。查了一下 sniproxy 走的 http 或 https 作用于网络的第七层,https 代理会有问题,换成作用于第四层的 socks 代理能解决问题
dunhanson
2023-06-30 16:17:26 +08:00
@pocketz System.setProperty 百度能搜到基本都是这类,只是参数值不一样
dunhanson
2023-06-30 16:19:47 +08:00
@curvatureship 这个我看看
pocketz
2023-06-30 16:26:01 +08:00
@dunhanson 可以尝试用 -Djavax.net.debug=all 获取更详细的错误堆栈

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/952878

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX