首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >ESB 3.7.0 SSLHandshakeException:握手时远程主机关闭连接

ESB 3.7.0 SSLHandshakeException:握手时远程主机关闭连接
EN

Stack Overflow用户
提问于 2015-12-21 09:42:31
回答 2查看 2K关注 0票数 1

当我从客户端向ESB发送请求时,我正在运行ESB Mule 3.7.0,得到以下错误:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 连接程序配置如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<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:inbound-endpoint的定义为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<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?有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2015-12-21 22:49:45

检查https连接器配置中的证书信息我使用了以下步骤并正确工作

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  <http:request-config name="SharedHttpsRequestConfig" protocol="HTTPS">
     <tls:context>
        <tls:trust-store path="${tls.trust.store}" password="${tls.trust.store.password}"/>
        <tls:key-store path="${tls.trust.store}"  password="${tls.trust.store.password}" keyPassword="${tls.trust.store.key.password}"/>
    </tls:context>  
</http:request-config> 

然后在流中使用上面的https连接器调用https服务。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <http:request config-ref="SharedHttpsRequestConfig"
                   port="${https.port}" host="#[MYMAP.get('DOMAINS')]"
                    path="/api/${version}/${.url}"
                    parseResponse="false"   responseTimeout="${es.mule.http.timeout}"
                method="POST" doc:name="Service">
票数 1
EN

Stack Overflow用户

发布于 2015-12-21 22:48:23

远程主机可能不喜欢您发送给它的内容,因此最初的TLS握手失败了。这可能有很多原因,比如:

  • 您不连接到SSL服务
  • 服务器需要您不支持的TLS版本。
  • 服务器需要您不支持的密码。
  • 服务器需要SNI,而您可能不使用

我认为不可能根据你提供的信息提取出确切的原因。但是,由于服务器关闭了连接,我建议在服务器端查看错误(日志文件等)。您还可以尝试与其他客户端连接到服务器,以查看问题是否与客户端配置有关,或者与服务器配置有关。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34401463

复制
相关文章
Adb connection Error:远程主机强迫关闭了一个现有的连接
遇到这个问题呢,首先尝试拔掉数据线,然后重启adb,即点击DDMS视图中的reset adb,或者cmd中输入adb kill-server和adb start-server,最后连接数据线,发现大多数情况下并没什么卵用,然后试过多次之后发现,想砸电脑!啊哈哈~ 下面教大家一个终极解决办法:
Zachary46
2018/09/12
2.7K0
Adb connection Error:远程主机强迫关闭了一个现有的连接
python学习笔记(7)——远程主机强迫关闭了一个现有的连接
python socket.error: [Errno 10054] 远程主机强迫关闭了一个现有的连接。问题解决方案:
my_sunshine
2020/09/17
39.6K0
Python远程连接主机之paramiko模块
Python的paramiko模块能够连接远程主机,并在该主机上执行命令,和该主机之间进行文件传输。paramiko支持用明文密码登录远程主机和秘钥登录。使用之前要安装一下这个模块哈,pip install paramiko,不会安装可以百度哈。
用户1432189
2018/09/05
2.4K0
Python远程连接主机之paramiko模块
Unexpected EOF 远程主机强迫关闭了一个现有的连接 如何处理
尝试百度了不少方法,如time.sleep(1),response.close(),socket.setdefaulttimeout(20)。
dongfanger
2020/09/23
2.5K0
pycharm调试远程主机_eclipse连接远程服务器
1.首先下载pycharm专业版,路径自寻,这边就不细说了。(社区版不支持远程配置) 2.获取服务器的IP和密码 3.打开pycharm,点击菜单栏 :工具tools—>部署deployment–>configuration
全栈程序员站长
2022/09/28
3.7K0
pycharm调试远程主机_eclipse连接远程服务器
cos上传文件报错:ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。
python方法调用cos api向cos上传文件时,报错:ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。
用户8216114
2022/08/19
2.9K0
服务器远程连接/ssh方式连接教程(linux云主机远程登录)
Linux主机如何远程登录?建议使用ssh工具。使用Ssh连接登录的时候,需要先下载ssh登录客户端,下载安装完成之后可以进行Linux云主远程登录。
chenzhouliyan
2019/08/06
21.7K0
为什么TCP建立连接协议是三次握手,而关闭连接却是四次握手呢?
看到了一道面试题:“为什么TCP建立连接协议是三次握手,而关闭连接却是四次握手呢?为什么不能用两次握手进行连接?”,想想最近也到金三银四了,所以就查阅了相关资料,整理出来了这篇文章,希望对你们有所帮助。
平头哥的技术博文
2020/01/08
7820
如何从命令行关闭或重启远程 Linux 主机?
在远程管理 Linux 主机时,有时需要通过命令行关闭或重启主机。本文将详细介绍如何使用命令行在远程 Linux 主机上执行关闭或重启操作,以确保安全和便捷地管理远程系统。
网络技术联盟站
2023/06/14
2.6K0
如何从命令行关闭或重启远程 Linux 主机?
图解TLS握手连接
SSL:(Secure Socket Layer,安全套接字层),位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层。SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。该协议由两层组成:SSL记录协议和SSL握手协议。
半月弧
2020/03/03
5.4K0
图解TLS握手连接
【问题解决】内网 VSCode 无法连接远程主机
这时候你认证看报错信息,它会尝试把你已经放置好的 vscode-server 删除掉,然后又删不掉,但是它默认已经删掉了,然后开始自己下载,但是又下载不了,于是就给你报错。
看、未来
2022/05/06
1.2K0
AMH云主机面板开启数据库远程连接
AMH默认是不支持远程连接数据库的,但是有时我们需要在其他地方使用我们的数据库,就需要开启远程连接,下面简单介绍下如何开启:
好派笔记
2021/09/16
9.1K1
为什么 TCP 建立连接是三次握手,关闭连接确是四次挥手呢?
https://blog.csdn.net/qzcsu/article/details/72861891
JavaFish
2019/10/17
5740
为什么 TCP 建立连接是三次握手,关闭连接确是四次挥手呢?
我们知道网络层,可以实现两个主机之间的通信。但是这并不具体,因为,真正进行通信的实体是在主机中的进程,是一个主机中的一个进程与另外一个主机中的一个进程在交换数据。IP协议虽然能把数据报文送到目的主机,但是并没有交付给主机的具体应用进程。而端到端的通信才应该是应用进程之间的通信。
Criss@陈磊
2019/08/01
6790
为什么 TCP 建立连接是三次握手,关闭连接确是四次挥手呢?
我们知道网络层,可以实现两个主机之间的通信。但是这并不具体,因为,真正进行通信的实体是在主机中的进程,是一个主机中的一个进程与另外一个主机中的一个进程在交换数据。IP协议虽然能把数据报文送到目的主机,但是并没有交付给主机的具体应用进程。而端到端的通信才应该是应用进程之间的通信。
Java技术栈
2019/05/07
7060
为什么 TCP 建立连接是三次握手,关闭连接确是四次挥手呢?
原来Python是这样连接远程主机的,你会吗?
在软件测试的过程中,涉及到远程Linux主机环境测试的时候,难免会遇到需要执行shell命令的场景,比如通过shell命令去配置一些环境或者去检查用例执行的结果等等,那么就是用到了比较常用的工具paramiko。
软测小生
2021/09/06
2.1K0
springboot 中spring-data-redis报错:远程主机强迫关闭了一个现有的连接,如何解决?
修改redis配置文件 redis.conf 中 tcp-keepalive 参数值
跟着飞哥学编程
2022/11/30
1.1K0
springboot 中spring-data-redis报错:远程主机强迫关闭了一个现有的连接,如何解决?
使用Jedis远程连接Redis时的小插曲
从Maven依赖库库中下载两个jar包,分别是commons-pool2-2.4.2.jar和jedis-2.9.0.jar,版本不作要求。将这个两个jar包导入到工程中,然后开始编写程序。
Java阿呆
2020/11/04
1.2K0
使用Jedis远程连接Redis时的小插曲
PyCharm远程连接Spark【本地虚拟机或云主机】
1、本地虚拟机版本是 CentOS6.9 | 连接的云主机是 Ubuntu18.04。【两个都连接成功了,方法步骤一样】
Lokinli
2023/03/09
2.3K0
PyCharm远程连接Spark【本地虚拟机或云主机】
网关使用 Apache HttpClient 连接池出现异常
两个主机建立网络连接是一个比较复杂的过程,涉及到多个数据包的交换。建立网络连接本身就很耗时间,而 Http 连接需要三次握手,开销就更大。但是可以直接使用已经建立好的 Http 连接,那么花费就比较小。耗时更短,从而提高访问的吞吐量。
BUG弄潮儿
2022/06/30
9460

相似问题

SSLHandShakeException:远程主机在进行GET请求握手时关闭连接

114

SSLHandshakeException:握手过程中远程主机关闭连接

40

SSLHandshakeException:握手过程中远程主机关闭连接;

26

SSLHandshakeException :握手过程中远程主机关闭连接

11

我收到javax.net.ssl.SSLHandshakeException:握手期间远程主机关闭连接

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文