握手期間關閉連接我正在ESB騾子3.7.0當我從客戶端發送請求到ESB我得到以下錯誤:ESB騾子3.7.0出現SSLHandshakeException:遠程主機在
ERROR 2015-12-21 18:15:24,859 [[my-project].http.request.dispatch.443.41] org.mule.exception.DefaultSystemExceptionStrategy: Caught exception in Exception Strategy: Remote host closed connection during handshake javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:953) ~[?:1.7.0_80]
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1332) ~[?:1.7.0_80]
at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:889) ~[?:1.7.0_80]
at sun.security.ssl.AppInputStream.read(AppInputStream.java:102) ~[?:1.7.0_80]
at java.io.BufferedInputStream.fill(BufferedInputStream.java:235) ~[?:1.7.0_80]
at java.io.BufferedInputStream.read(BufferedInputStream.java:254) ~[?:1.7.0_80]
at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:78) ~[commons-httpclient-3.1.jar:?]
at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106) ~[commons-httpclient-3.1.jar:?]
at org.mule.transport.http.HttpServerConnection.readLine(HttpServerConnection.java:245) ~[mule-transport-http-3.7.0.jar:3.7.0]
at org.mule.transport.http.HttpServerConnection.getRequestLine(HttpServerConnection.java:557) ~[mule-transport-http-3.7.0.jar:3.7.0]
at org.mule.transport.http.HttpRequestDispatcherWork.run(HttpRequestDispatcherWork.java:67) ~[mule-transport-http-3.7.0.jar:3.7.0]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [?:1.7.0_80]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [?:1.7.0_80]
at java.lang.Thread.run(Thread.java:745) [?:1.7.0_80] Caused by: java.io.EOFException: SSL peer shut down incorrectly
at sun.security.ssl.InputRecord.read(InputRecord.java:482) ~[?:1.7.0_80]
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:934) ~[?:1.7.0_80]
... 13 more
我HTTPS 連接器被配置如下:
<https:connector name="httpsConnector" doc:name="HTTP\HTTPS" clientSoTimeout="10000" cookieSpec="netscape" receiveBacklog="0" receiveBufferSize="0" sendBufferSize="0" serverSoTimeout="10000" socketSoLinger="0" validateConnections="true">
<receiver-threading-profile maxThreadsActive="${connector.https.maxThreadsActive}" />
<https:tls-key-store path="${tls.keystore.location}" keyPassword="${tls.keystore.password}" storePassword="${tls.keystore.password}"/>
<https:tls-server path="${tls.keystore.location}" storePassword="${tls.keystore.password}"/>
</https:connector>
和HTTPS:入站端點定義爲:
<https:inbound-endpoint exchange-pattern="request-response" host="${httpInbound.secure.host}" port="${httpInbound.secure.port}" doc:name="HTTPS Service" path="${httpInbound.contextRoot}/${external.serviceName}" responseTimeout="${service.timeout}" connector-ref="httpsConnector">
<mule-ss:http-security-filter realm="mule-realm"/>
<mule-ss:authorization-filter requiredAuthorities="PUBLIC" />
</https:inbound-endpoint>
爲什麼在握手期間收到SSLHandshakeException: Remote host closed connection
?有任何想法嗎?