Welcome! Log In Create A New Profile

Advanced

Re: Количество клиенстких ошибок выросло после обновления до новой nginx(1.14.2) c новым openssl (1.0.2g)

Maxim Dounin
April 05, 2019 11:38AM
Hello!

On Thu, Apr 04, 2019 at 10:36:33PM +0500, Dmitry Sergeev wrote:

> Добрый день.
> ОС: Ubuntu 16.04
>
> Nginx версия с которой проблемы:
> nginx version: nginx/1.14.2
> built by gcc 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.11)
> built with OpenSSL 1.0.2g  1 Mar 2016
> TLS SNI support enabled
>
> Обновились до последней стабильной сборки nginx. Количество ошибок 4xx
> значительно повышается: А именно 499 в два раза, 400 в 20 раз, 408 в 14
> раз, в целом всего 4xx ошибок становится в 3-4 раза больше.
>
> Раннее мы работали на nginx 1.12.1 собственной сборки с openssl 1.0.1u,
> когда-то я собирали эту версию по тем же причинам (сборка nginx 1.12.1
> из репозитория себя вела точно также - куча ошибок).
>
> Поэтому сейчас снова пришлось собрать уже новую версию nginx (1.14.2) но
> со старым openssl 1.0.1u.
>
> Привожу скрин для наглядности: http://joxi.net/n2YQdVZSbozM02.jpg
> Здесь статистка по ошибкам из двух одинаковых серверов за 30 минутный
> интервал времени.
> Где lb21 имеет nginx 1.14.2 + openssl 1.0.1u, а lb21-2 nginx 1.14.2 +
> openssl 1.0.2g
>
> Вот так выглядет процесс отката до nginx 1.14.2 + openssl 1.0.1u c точки
> зрения количества ошибок: http://joxi.net/EA4RKZXHowQDQm.jpg (здесь
> каждый столбик это количество за минуту).

Количество ошибок на уровне HTTP - может быть нерелевантно
происходящему, и, скажем, означать, что больше проблемных клиентов
теперь могут пройти через SSL handshake.

Ну и смотреть надо не на абсолютные цифры, а на проценты от
трафика. Если речь про доли процента - наблюдаемое изменение
может быть следствием того, что проблемы возникают у каких-либо
малораспространённых клинтов, и совершенно не факт, что на это
надо обращать внимание. Например, из OpenSSL 1.0.2 могли убрать
какие-то workaround'ы для ошибочного поведения, или же из-за
изменения списка шифров теперь используются другие шифры, которые,
наоборот, вызывают проблемы в этих клиентах.

Если же хочется таки разобраться - то имеет смысл смотреть
подробную информацию по ошибкам, в частности - что при этом пишет
nginx в логи (если есть подробности - они скорее всего на уровне
info), и что известно про этих клиентов - User-Agent, используемые
протоколы, шифры и так далее.

> Конфигурации одинаковые, количество трафика одинаковое. Пробовал менять
> местами версии nginx между этими серверами, сразу видно как начинает
> расти количество ошибок на том сервере где используется nginx 1.14.2 +
> openssl 1.0.2g. Тенденция роста количества 499, 400, 408 ошибок видна
> моментально после обновления версии.
>
> Пробовал разные версии openssl (ветки 1.0.2, 1.1.1). Все что выше 1.0.1u
> дает такой результат.  Пробовал отключать/включать http2 никак не влияет.

В первую очередь - в OpenSSL 1.0.1 нет ALPN, то есть HTTP/2 в
современных браузерах работать не будет. Если в конфиге включён
HTTP/2 - переход на OpenSSL 1.0.2 будет сильным изменением
поведения в любом случае. Так что имеет смысл HTTP/2 выключить и
сравнивать строго без HTTP/2. Важно при этом выключить везде,
потому как http2 - это опция сокета, и если она останется в любом
из блоков server, то HTTP/2 продолжит работать.

> Конфиугация ssl в nginx стоит по умолчанию (то есть только указаны
> диррективы ssl_certificate, ssl_certificate_key).

Если вдруг используются множественные сертификаты в одном блоке
server - переход с OpenSSL 1.0.1 на 1.0.2 потребует изменения
цепочек в ssl_certificate, т.к. в случае OpenSSL 1.0.1 цепочка
только одна и общаяя для всех сертификатов, а в случае 1.0.2 - у
каждого сертификата своя.

В остальном я каких-либо особенных проблем с OpenSSL 1.0.2 не
помню, в целом хорошая ветка.

--
Maxim Dounin
http://mdounin.ru/
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Количество клиенстких ошибок выросло после обновления до новой nginx(1.14.2) c новым openssl (1.0.2g)

Dmitry Sergeev April 04, 2019 01:38PM

Re: Количество клиенстких ошибок выросло после обновления до новой nginx(1.14.2) c новым openssl (1.0.2g)

Maxim Dounin April 05, 2019 11:38AM

Re: Количество клиенстких ошибок выросло после обновления до новой nginx(1.14.2) c новым openssl (1.0.2g)

Dmitry Sergeev April 07, 2019 08:46AM

Re: Количество клиенстких ошибок выросло после обновления до новой nginx(1.14.2) c новым openssl (1.0.2g)

Илья Шипицин April 07, 2019 09:18AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 212
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready