HttpsURLConnectionImpl.getInputStream:SSL 错误连接重置

问题描述

我的 java 代码尝试从它的服务器获取文档。作为文档的代码都在同一个域中的 Tomcat 服务器上。 https://domain/webapp/static/document。

当我运行这段代码时:

try (InputStream stream = conn.getInputStream();
        XWPFDocument doc = new XWPFDocument(OPCPackage.open(stream));) {
    
} catch (InvalidFormatException e) {
    e.printstacktrace();
}

我收到此异常:

Caused by: javax.net.ssl.SSLException: Connection reset
    at sun.security.ssl.Alert.createSSLException(Alert.java:127)
    at sun.security.ssl.TransportContext.fatal(TransportContext.java:324)
    at sun.security.ssl.TransportContext.fatal(TransportContext.java:267)
    at sun.security.ssl.TransportContext.fatal(TransportContext.java:262)
    at sun.security.ssl.SSLTransport.decode(SSLTransport.java:135)
    at sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1143)
    at sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1054)
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:394)
    at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1570)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498)
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:268)
    at cob.securitymanager.CustomerBean.createCustomerReadyDocFromTemplate(CustomerBean.java:1894)
    at cob.securitymanager.CustomerBean.downloadFile(CustomerBean.java:1850)
    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.apache.el.parser.AstValue.invoke(AstValue.java:279)
    at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:273)
    at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
    ... 48 more
    Suppressed: java.net.socketException: broken pipe (Write Failed)
        at java.net.socketoutputStream.socketWrite0(Native Method)
        at java.net.socketoutputStream.socketWrite(SocketoutputStream.java:111)
        at java.net.socketoutputStream.write(SocketoutputStream.java:155)
        at sun.security.ssl.SSLSocketoutputRecord.encodeAlert(SSLSocketoutputRecord.java:81)
        at sun.security.ssl.TransportContext.fatal(TransportContext.java:355)

我真的不是 SSL 专家。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)