Openssl 在客戶端問候後掛起

Openssl 在客戶端問候後掛起

我遇到以下奇怪的 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

有時連線運作正常,有時會在未知情況下發生上述錯誤,甚至沒有進入憑證交換狀態。

我的系統是一個CentOS 6.5 OpenSSL 1.0.1e-fips 11 Feb 2013.

答案1

發現新的 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 幀)。

相關內容