当前位置:   article > 正文

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

unrecognized ssl message, plaintext connection?

先简单介绍一下场景。

服务架构为: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句,解决了这个问题。




声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/650884
推荐阅读
相关标签
  

闽ICP备14008679号