Hello! On Thu, Nov 15, 2018 at 10:50:15PM +0300, Evgeniy Berdnikov wrote:
> Есть задача спроксировать соединение до сервера с Exchange 2013, > который не умеет TLSv1.2 и выше -- он просто обрывает соединение. > Это выяснено с помощью "openssl s_client" перебором ключей -tlsXXX. > Openssl с ключами -tls1 и -tls1_1 соединение устанавливает. [...] > Теперь понижаем версию, чтобы получить желаемый коннект: прописываем > в конфиге "TLSv1.1" и получаем в логе > > 2018/11/15 21:50:25 [crit] 12454#12454: *1 SSL_do_handshake() failed (SSL: > error:141E70BF:SSL routines:tls_construct_client_hello:no protocols > available) while SSL handshaking to upstream, client: 192.168.27.13, server: > cio.protva.ru, request: "GET /owa/ HTTP/1.1", upstream: > "https://172.23.0.4:443/owa/", host: "cio.protva.ru:8080" [...] > То есть вместо изменения версии происходит какая-то внутренняя ошибка > "tls_construct_client_hello:no protocols available". Такой же результат > получается если указать TLSv1, SSLv3 или несколько версий протокола. > Это бага или я что-то упустил? > > Информация о стендовой системе: Debian/unstable (32bit), пакеты > nginx-light_1.14.1-1_i386 и libssl_1.1.1-2_i386. Проблема в том, что в Debian на системном уровне запрещены протоколы меньше TLS 1.2. Соответственно в вашей конфигурации оказываются запрещены вообще все протоколы - об этом и говорит ошибка "no protocols available". Исправить это можно, обновившись на nginx 1.15.3+, где соответствующая проблема полечена на уровне nginx[1], либо же убрав ограничение в системном конфиге OpenSSL и/или задав для nginx'а отдельный конфиг, без соответствующего ограничения. [1] http://hg.nginx.org/nginx/rev/7ad0f4ace359 -- Maxim Dounin http://mdounin.ru/ _______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
