Re: странное поведение Chrome на http2

Maxim Dounin mdounin на mdounin.ru
Пн Ноя 30 23:11:15 UTC 2020


Hello!

On Mon, Nov 30, 2020 at 11:58:59PM +0500, Илья Шипицин wrote:

> привет!
> 
> может кто сталкивался, и знает, что с этим можно сделать.
> ситуация - хостинг высокой плотности, на одном IP много доменов.
> домены разные, каждый со своей бизнес логикой.
> 
> у Chrome  включается какая-то оптимизация, и типа "ну раз IP один, то я
> буду весь трафик гонять через одно tcp подключение". все бы ничего, но
> некоторые сайты иногда рвут соединение. а Chrome в итоге рвет не
> подключение до конкретного сайта, а вообще все, которые он умудрился
> связать с этим tcp подключением.
> 
> частный пример - сайт, который иногда формирует очень длинные URL, не
> помещающиеся в  дефолтный http2_max_field_fize, при возникновение такой
> ситуации Chrome рвет всё до этого IP адреса.
> 
> как-то не по христиански чтоли.
> 
> подумалось, что аналогичных хостингов высокой плотности в рассылке может
> быть достаточное количество. не первый же  я с таким столкнулся?

Это называется connection reuse, правила прописаны тут:

https://tools.ietf.org/html/rfc7540#section-9.1.1

В частности:

   For "https" resources, connection reuse additionally depends on
   having a certificate that is valid for the host in the URI.  The
   certificate presented by the server MUST satisfy any checks that the
   client would perform when forming a new TLS connection for the host
   in the URI.

То есть если хочется, чтобы соединения не reuse'ались, можно 
сконфигурировать разные сертификаты для разных серверов (или групп 
серверов).

Ну либо руками возвращать 421 по необходимости, проверяя $ssl_server_name.

-- 
Maxim Dounin
http://mdounin.ru/


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