Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Random javax.net.ssl.SSLHandshakeException:&x201C;握手期间远程主机关闭连接”;关于GCP_Java_Ssl_Ssl Certificate - Fatal编程技术网

Random javax.net.ssl.SSLHandshakeException:&x201C;握手期间远程主机关闭连接”;关于GCP

Random javax.net.ssl.SSLHandshakeException:&x201C;握手期间远程主机关闭连接”;关于GCP,java,ssl,ssl-certificate,Java,Ssl,Ssl Certificate,我们有一个应用程序在AWS环境中运行了几年,最近我们将其迁移到GCP Kubernetes,当一个应用程序尝试与另一个应用程序通信时,这种奇怪的行为会随机出现,有时会发生,有时不会,有时会持续4到6个小时,然后突然消失。我们已经检查了证书,我们使用的https.protocol作为导出JAVA_OPTS=“-Dhttps.protocols=SSLv3,TLSv1,TLSv1.1,TLSv1.2,通信使用的是org.springframework.web.client RestTemplate。

我们有一个应用程序在AWS环境中运行了几年,最近我们将其迁移到GCP Kubernetes,当一个应用程序尝试与另一个应用程序通信时,这种奇怪的行为会随机出现,有时会发生,有时不会,有时会持续4到6个小时,然后突然消失。我们已经检查了证书,我们使用的https.protocol作为导出JAVA_OPTS=“-Dhttps.protocols=SSLv3,TLSv1,TLSv1.1,TLSv1.2,通信使用的是org.springframework.web.client RestTemplate。有人在GCP环境中有类似问题吗?你如何解决它

错误堆栈跟踪:

正在分析错误响应com.google.common.util.concurrent.UncheckedExecutionException: org.springframework.web.client.ResourceAccessException:获取请求时发生I/O错误 “”:远程主机已终止握手;嵌套异常为 javax.net.ssl.SSLHandshakeException:远程主机终止了握手

com.google.common.util.concurrent.UncheckedExecutionException: org.springframework.web.client.ResourceAccessException: I/O error on GET request for 
https://xxxxxx/content/6": Remote host terminated the handshake; nested exception is 
        javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake at 
    com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2051) at 
    com.google.common.cache.LocalCache.get(LocalCache.java:3953) at 
    com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3976) at 
    com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4960) at 
    com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4966) at 
    com.demo.simulator.ExternalSimulatorService.getSimulatedContent(ExternalSimulatorService.java:42) at 
    com.demo.framework.holder.connector.impl.AbstractConnector.loadResponseFromSimulator(AbstractConnector.java:78) at 
    com.demo.framework.holder.connector.impl.AbstractConnector.call(AbstractConnector.java:39) at 
    com.demo.service.processor.ConsumerProcessor.process(ConsumerProcessor.java:131) at 
    com.demo.processor.AbstractProcessor.execute(AbstractProcessor.java:18) at 
    org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) at 
    com.demo.processor.BasicExecutor.executeChainProcessors(BasicExecutor.java:49) at 
    com.demo.processor.BasicExecutor.execute(BasicExecutor.java:34) at 
    com.demo.service.controller.ApiReportController.getResponseUsingRequestAndResponse(ApiReportController.java:208) at 
    com.demo.service.controller.ApiReportController.getResponseUsingRequestAndResponseV1Format(ApiReportController.java:137) at 
    jdk.internal.reflect.GeneratedMethodAccessor106.invoke(Unknown Source) at 
    java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at 
    java.base/java.lang.reflect.Method.invoke(Method.java:566) at 
    org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) at 
    org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) at 
    org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102) 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:800) at 
    org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at 
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1038) at 
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942) at 
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005) at 
    org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:908) at 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:660) at 
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882) at 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:741) at 
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at 
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at 
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at 
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at 
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at 
    org.springframework.boot.actuate.web.trace.servlet.HttpTraceFilter.doFilterInternal(HttpTraceFilter.java:88) at 
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at 
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at 
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at 
    com.demo.ic.core.analytics.decisionportal.interactioncontext.InteractionContextInitializationFilterProxy.doFilterInternal(InteractionContextInitializationFilterProxy.java:171) at 
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at 
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at 
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at 
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320) at 
    org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:126) at 
    org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:90) at 
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at 
    org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:118) at 
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at 
    org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137) at 
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at 
    org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111) at 
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at 
    org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:158) at 
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at 
    org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) at 
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at 
    org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:154) at 
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at 
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at 
    org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationProcessingFilter.doFilter(OAuth2AuthenticationProcessingFilter.java:176) at 
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at 
    org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116) at 
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at 
    org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:92) at 
    org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:77) at 
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at 
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at 
    org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105) at 
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at 
    org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56) at 
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at 
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) at 
    org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215) at 
    org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178) at 
    org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) at 
    org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) at 
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at 
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at 
    org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.filterAndRecordMetrics(WebMvcMetricsFilter.java:114) at 
    org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:104) at 
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at 
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at 
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at 
    org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at 
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at 
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at 
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at 
    org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) at 
    org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at 
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) at 
    org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) at 
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at 
    org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at 
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) at 
    org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:367) at 
    org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at 
    org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868) at 
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1639) at 
    org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at 
    java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at 
    java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at 
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at 
    java.base/java.lang.Thread.run(Thread.java:834) **Caused by: org.springframework.web.client.ResourceAccessException: I/O error on GET request for "https://xxxxxxx/content/6": Remote host terminated the handshake; nested exception is javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake** at 
    org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:744) at 
    org.springframework.web.client.RestTemplate.execute(RestTemplate.java:670) at 
    org.springframework.web.client.RestTemplate.getForObject(RestTemplate.java:311) at 
    com.demo.simulator.ExternalSimulatorService$1.load(ExternalSimulatorService.java:83) at 
    com.demo.simulator.ExternalSimulatorService$1.load(ExternalSimulatorService.java:64) at 
    com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3529) at 
    com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2278) at 
    com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2155) at 
    com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2045) ... 104 common frames omitted **Caused by: javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake at** 
    java.base/sun.security.ssl.SSLSocketImpl.handleEOF(SSLSocketImpl.java:1321) at 
    java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1160) at 
    java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1063) at 
    java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:402) at 
    java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:567) at 
    java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185) at 
    java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:163) at 
    org.springframework.http.client.SimpleBufferingClientHttpRequest.executeInternal(SimpleBufferingClientHttpRequest.java:76) at 
    org.springframework.http.client.AbstractBufferingClientHttpRequest.executeInternal(AbstractBufferingClientHttpRequest.java:48) at 
    org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:53) at 
    org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:735) ... 112 common frames omitted Caused by: java.io.EOFException: SSL peer shut down incorrectly at 
    java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:167) at 
    java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:108) at 
    java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1152)

这回答了你的问题吗?你知道发生了什么吗?