当前位置:首页 » 《随便一记》 » 正文

解决报错:javax.net.ssl.SSLHandshakeException: No appropriate protocol

24 人参与  2024年02月20日 13:01  分类 : 《随便一记》  评论

点击全文阅读


目录

一、场景二、报错信息三、原因四、排查五、解决


一、场景

使用对象存储进行文件上传时报错

注:该问题只要需要用到http的都有可能出现,不是只针对对象存储


二、报错信息

com.hitachivantara.hcp.common.ex.InvalidResponseException: com.hitachivantara.core.http.ex.HttpException: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)        at com.hitachivantara.hcp.common.HCPHttpClient.execute(HCPHttpClient.java:163)        at com.hitachivantara.hcp.common.AbstractHCPClient.execute(AbstractHCPClient.java:62)        at com.hitachivantara.hcp.standard.body.impl.HCPNamespaceImpl.putObject(HCPNamespaceImpl.java:336)        at com.hitachivantara.hcp.standard.body.impl.HCPNamespaceImpl.putObject(HCPNamespaceImpl.java:420)        at com.xxx.util.HuaRunOBSUtil.putObjectByInput(HuaRunOBSUtil.java:307)        at com.xxx.util.OBSUtil.putObjectByInput(OBSUtil.java:382)        at com.xxx.order.order.service.impl.SzFileServiceImpl.saveFile(SzFileServiceImpl.java:60)        at com.xxx.order.order.service.impl.SzFileServiceImpl$$FastClassBySpringCGLIB$$7b5e32f1.invoke(<generated>)        at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)        at org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386)        at org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85)        at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:704)        at com.xxx.order.order.service.impl.SzFileServiceImpl$$EnhancerBySpringCGLIB$$c58c4d2b.saveFile(<generated>)        at com.xxx.order.order.controller.SzFileController.uploadFileFour(SzFileController.java:63)        at com.xxx.order.order.controller.SzFileController$$FastClassBySpringCGLIB$$835bd31d.invoke(<generated>)        at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)        at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793)        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)        at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763)        at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)        at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388)        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)        at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763)        at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708)        at com.xxx.order.order.controller.SzFileController$$EnhancerBySpringCGLIB$$d7c4a92f.uploadFileFour(<generated>)        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)        at java.lang.reflect.Method.invoke(Method.java:498)        at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)        at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)        at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)        at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)        at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)        at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1071)        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:964)        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)        at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)        at javax.servlet.http.HttpServlet.service(HttpServlet.java:515)        at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)        at javax.servlet.http.HttpServlet.service(HttpServlet.java:583)        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:212)        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156)        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:181)        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156)        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:111)        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:181)        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156)        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:337)        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)        at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122)        at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116)        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)        at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)        at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)        at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109)        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)        at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)        at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)        at com.xxx.power.jwt.a.doFilterInternal(JwtAuthenticationTokenFilter.java:207)        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)        at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)        at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)        at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)        at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)        at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)        at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:112)        at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:82)        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)        at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)        at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42)        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:346)        at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:221)        at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)        at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:181)        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156)        at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:181)        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156)        at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:181)        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156)        at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:126)        at org.springframework.boot.web.servlet.support.ErrorPageFilter.access$000(ErrorPageFilter.java:64)        at org.springframework.boot.web.servlet.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:101)        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)        at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:119)        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:181)        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156)        at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:181)        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156)        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483)        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:679)        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:617)        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:934)        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1698)        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)        at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)        at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)        at java.lang.Thread.run(Thread.java:750)Caused by: com.hitachivantara.core.http.ex.HttpException: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)        at com.hitachivantara.core.http.client.impl.ApacheHttpClient.request(ApacheHttpClient.java:63)        at com.hitachivantara.core.http.client.HttpClientBase.execute(HttpClientBase.java:68)        at com.hitachivantara.core.http.util.HttpClientAgency.request(HttpClientAgency.java:132)        at com.hitachivantara.core.http.util.HttpClientAgency.request(HttpClientAgency.java:103)        at com.hitachivantara.hcp.common.HCPHttpClient.execute(HCPHttpClient.java:136)        ... 130 common frames omittedCaused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)        at sun.security.ssl.HandshakeContext.<init>(HandshakeContext.java:171)        at sun.security.ssl.ClientHandshakeContext.<init>(ClientHandshakeContext.java:103)        at sun.security.ssl.TransportContext.kickstart(TransportContext.java:227)        at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:433)        at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:436)        at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:384)        at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142)        at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:376)        at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:393)        at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)        at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)        at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)        at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)        at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)        at com.hitachivantara.core.http.client.impl.ApacheHttpClient.request(ApacheHttpClient.java:56)        ... 134 common frames omitted

三、原因

jdkjava.security文件存在配置问题


四、排查

1、查看当前服务器使用的jdk版本

命令:java -version

在这里插入图片描述

2、查看该jdk的安装目录

命令:find / -name java.security

这里选择通过搜索java.security来确定安装目录

在这里插入图片描述

3、查看java.security文件

在这里插入图片描述


五、解决

java.security文件的SSLv3, TLSv1, TLSv1.1删除后,重启服务即可

在这里插入图片描述


点击全文阅读


本文链接:http://zhangshiyu.com/post/69180.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1