Unrecognized SSL message, plaintext connection?https请求遇到异常分析

先简单介绍一下场景。

服务架构为:haproxy+keepalive + esb+应用。

在esb层实现 https双向认证。这样就需要 haproxy 使用 tcp 模式进行转发。


配置好 haproxy 后,用restclient模拟客户端发送https请求时 客户端报错:

“Unrecognized SSL message, plaintext connection?”


客户端对同一端口(https的端口)使用http协议发送消息时,服务端(esb)日志报错:

“Unrecognized SSL message, plaintext connection?”


网上搜到一篇文章解释这个问题:http://blog.csdn.net/dtlscsl/article/details/50462721

产生该问题的原因是:

客户端产生“Unrecognized SSL message, plaintext connection?”的异常 是因为对方提供的不是https服务的端口;

服务端产生该异常,是因为客户端以 http协议访问 服务端的https服务。


带着这个思路,查了下 haproxy的配置,发现

defaults
        log     global
        mode    http
        option  httplog
        option  dontlognull
        retries 3
        option redispatch

默认的方式为http的!


而esb的服务没有配置传输方式!

listen  ESB_https 0.0.0.0:8243
        mode tcp
        log global
        option tcplog

        balance roundrobin
        server  ESB_https_126  172.16.0.126:8243 weight 1 maxconn 10000 check inter 3600s
        server  ESB_https_36   172.16.0.36:8243 weight 1 maxconn 10000 check inter 3600s

加上红字的3句,解决了这个问题。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员柒叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值