On Sun, Apr 7, 2019, 5:45 PM Dmitry Sergeev <ide...@gmail.com> wrote:
> Количество ошибок на уровне HTTP - может быть нерелевантно > происходящему, и, скажем, означать, что больше проблемных клиентов > теперь могут пройти через SSL handshake. > > Ну и смотреть надо не на абсолютные цифры, а на проценты от > трафика. Если речь про доли процента - наблюдаемое изменение > может быть следствием того, что проблемы возникают у каких-либо > малораспространённых клинтов, и совершенно не факт, что на это > надо обращать внимание. Например, из OpenSSL 1.0.2 могли убрать > какие-то workaround'ы для ошибочного поведения, или же из-за > изменения списка шифров теперь используются другие шифры, которые, > наоборот, вызывают проблемы в этих клиентах. > > Ну не знаю, количество ошибок, которое возросло в 3-4 раза, как по мне > стоит того, чтобы обратить внимание. Доля трафика конечно небольшая, я > думаю примерно в пределах одного процента, а точнее: 0.24% запросов это > ошибки (499,408,400). Но обычно эта доля составляет 0.05%, что и > А каких-нибудь мобильных клиентов на okhttp старых версий (у них очень плохо с http2) нет? расстраивает. Надо конечно это считать не по количеству запросов, а по > количеству пользователей, которых это затрагивает, но все же. > > Если же хочется таки разобраться - то имеет смысл смотреть > подробную информацию по ошибкам, в частности - что при этом пишет > nginx в логи (если есть подробности - они скорее всего на уровне > info), и что известно про этих клиентов - User-Agent, используемые > протоколы, шифры и так далее. > > Да, спасибо. Буду исследовать дальше. > > В первую очередь - в OpenSSL 1.0.1 нет ALPN, то есть HTTP/2 в > современных браузерах работать не будет. Если в конфиге включён > HTTP/2 - переход на OpenSSL 1.0.2 будет сильным изменением > поведения в любом случае. Так что имеет смысл HTTP/2 выключить и > сравнивать строго без HTTP/2. Важно при этом выключить везде, > потому как http2 - это опция сокета, и если она останется в любом > из блоков server, то HTTP/2 продолжит работать. > > Тестил как с http2 так и без него, результат один и тот же. Про то что > отключать его нужно во всех блоках server знаю, после выключения > непосредственно проверял вручную, выключился ли он действительно. > > Если вдруг используются множественные сертификаты в одном блоке > server - переход с OpenSSL 1.0.1 на 1.0.2 потребует изменения > цепочек в ssl_certificate, т.к. в случае OpenSSL 1.0.1 цепочка > только одна и общаяя для всех сертификатов, а в случае 1.0.2 - у > каждого сертификата своя. > > Я к сожалению не очень разбираюсь в этом, я использую wildcard сертификаты > от letsencrypt. То что сгенирировал certbot то и даю nginx. Как писал > раннее, тестил версии openssl: 1.0.1u, 1.0.2g, 1.1.1b. Данная проблема > воспроизводится успешно на 1.0.2g и 1.1.1b. > > Спасибо за наводки, понял, что проблема скорее всего на клиентской стороне > с поддержкой алгоритмов ssl или еще какие-то, буду исследовать дальше. > > > -- > > Kind regards > Dmitry Sergeev > Tel: +7 (951) 129-75-72 > > _______________________________________________ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru
_______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru