【问题标题】:What does "Unknown SSL protocol error" mean?“未知的 SSL 协议错误”是什么意思?
【发布时间】:2014-10-15 13:49:15
【问题描述】:

这是我的问题:我正在使用交易机器人与在线交易所进行交互。该机器人实际上是 PHP 中的一个具有无限循环的脚本。在每次迭代中,它使用 cURL 请求向服务器发送/接收一些数据。有时(不是经常)我收到错误 443(未知的 SSL 协议)。这让我觉得问题的根源是远程服务器而不是我的请求。

我不是安全专家,所以我欢迎一般性的回答或链接以更深入地了解。

【问题讨论】:

    标签: php curl ssl bots


    【解决方案1】:

    这通常意味着远程服务器没有提供 SSL/TLS 响应。相反,删除服务器发送了一个网页来响应ClientHello,而本地客户端试图将 HTML 解释为ServerHello

    你可以用openssl s_client -connect www.google.com:80模拟它。在此示例中,端口 80 显然会为您提供网页,而不是 ServerHello。感兴趣的行是以read from ... 开头的行。

    $ openssl s_client -connect www.google.com:80 -debug
    CONNECTED(00000003)
    
    write to 0x7fe933c22a70 [0x7fe934013600] (308 bytes => 308 (0x134))
    0000 - 16 03 01 01 2f 01 00 01-2b 03 03 2e 0b 3b 5f 7a   ..../...+....;_z
    ...
    0120 - 02 04 03 03 01 03 02 03-03 02 01 02 02 02 03 00   ................
    0130 - 0f 00 01 01                                       ....
    
    read from 0x7fe933c22a70 [0x7fe934018c00] (7 bytes => 7 (0x7))
    0000 - 48 54 54 50 2f 31 2e                              HTTP/1.
    140735324471772:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:787
    
    ---
    no peer certificate available
    ---
    No client certificate CA names sent
    ---
    SSL handshake has read 7 bytes and written 308 bytes
    ---
    New, (NONE), Cipher is (NONE)
    Secure Renegotiation IS NOT supported
    Compression: NONE
    Expansion: NONE
    ---
    

    【讨论】:

      猜你喜欢
      • 2016-12-12
      • 1970-01-01
      • 2018-07-15
      • 2014-11-24
      • 2013-12-27
      • 1970-01-01
      • 2017-01-20
      • 1970-01-01
      • 2017-12-22
      相关资源
      最近更新 更多