客户端打招呼后 Openssl 挂起

And*_*sov 5 centos openssl amazon-ec2 amazon-web-services

我有以下奇怪的 SSL 连接错误:

openssl s_client -ssl3 -connect host:443  -msg

CONNECTED(00000003)
>>> SSL 3.0 Handshake [length 0087], ClientHello
    01 00 00 83 03 00 53 70 cb 57 f8 66 46 4d ad 9f
    12 f9 03 32 11 b9 58 f8 82 d7 43 36 80 c9 39 68
    14 72 85 18 95 2b 00 00 5c c0 14 c0 0a 00 39 00
    38 00 88 00 87 c0 0f c0 05 00 35 00 84 c0 12 c0
    08 00 16 00 13 c0 0d c0 03 00 0a c0 13 c0 09 00
    33 00 32 00 9a 00 99 00 45 00 44 c0 0e c0 04 00
    2f 00 96 00 41 00 07 c0 11 c0 07 c0 0c c0 02 00
    05 00 04 00 15 00 12 00 09 00 14 00 11 00 08 00
    06 00 03 00 ff 01 00
write:errno=104
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 0 bytes
Run Code Online (Sandbox Code Playgroud)

有时连接工作正常,有时会在未知情况下发生上述错误,甚至无法进入证书交换状态。

我的系统是CentOS 6.5 OpenSSL 1.0.1e-fips 11 Feb 2013.

And*_*sov 6

发现新的 AWS 类型的实例默认具有 MTU 9001,这会导致 SSL 数据包出错:有时它们会延迟有时会被丢弃。将 MTU 设置为 1500 有助于解决此问题。

引自http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html

实例的最大传输单元 (MTU) 取决于其实例类型。以下实例类型提供 9001 MTU(巨型帧):CC2、C3、R3、CG1、CR1、G2、HS1、HI1、I2 和 M3。其他实例类型提供 1500 MTU(以太网 v2 帧)。)