SSL handshake error

Dmitry Morozovsky marck at rinet.ru
Thu Sep 13 14:12:16 UTC 2012


On Thu, 13 Sep 2012, Maxim Dounin wrote:

> > что-то мы тупим совокупно с коллегами по работе.
> > 
> > Имеется личный кабинет на https://ctl.rinet.ru/ с сертификатом от RapidSSL
> > 
> > *Некоторое* количество клиентов с виндой не могут туда прицепиться. 
> > openssl s_client показывает дамп сертификата и дальше не идёт.
> 
> Не вижу никаких проблем с openssl'ом:

Да вот и я ;)

> $ openssl s_client -connect ctl.rinet.ru:443
> ...
> HEAD / HTTP/1.0
> 
> HTTP/1.1 200 OK
> Server: nginx/1.1.17
> Date: Thu, 13 Sep 2012 12:59:15 GMT
> ...
> 
> Tested with:
> 
> OpenSSL 0.9.7e-p1 25 Oct 2004
> OpenSSL 1.0.0d 8 Feb 2011
> OpenSSL 1.0.1c 10 May 2012

Так в том-то и дело, что воспроизвести получается только на развёрнутой копии 
клиентской винды (openssl/win32 туда поставлен руками).

> > Попытки дебажить приводят к вот таким строкам в debug log:
> > 
> > 2012/09/12 21:34:04 [debug] 42238#0: *4798 http check ssl handshake
> > 2012/09/12 21:34:04 [debug] 42238#0: *4798 https ssl handshake: 0x16
> > 2012/09/12 21:34:04 [debug] 42238#0: *4798 SSL_do_handshake: -1
> > 2012/09/12 21:34:04 [debug] 42238#0: *4798 SSL_get_error: 2
> > 
> > И так висит, пока со стороны клиента не прервать. В случае браузера последние 
> > строки в дебаге те же.
> > 
> > Any hints/links?
> > 
> > Заранее спасибо.
> 
> SSL_get_error: 2 == SSL_ERROR_WANT_READ, ждём данных от клиента.  
> Я бы смотрел на сеть WireShark'ом, он хорошо SSL разбирает.  Но 
> может быть проблема совсем банальная, и e.g. большие пакеты 
> местами не пролезают?

Местами не пролазят какие-то пакеты, кажется, чуть ли не вне зависимости от 
размера, tcpdump порой видит tcp ack на один пакет там где  должно быть на 
два.

Мистика какая-то.

ОК, я получил подтверждение, что мы не совсем идиоты, спасибо, будем копать 
дальше ;)

-- 
Sincerely,
D.Marck                                     [DM5020, MCK-RIPE, DM3-RIPN]
[ FreeBSD committer:                                 marck at FreeBSD.org ]
------------------------------------------------------------------------
*** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- marck at rinet.ru ***
------------------------------------------------------------------------



Подробная информация о списке рассылки nginx-ru