Проблемы с прокси-запросами к нескольким бэкэндам с http2, «объединение соединений», повторное использование соединения в google chrome

Мы ищем способ использовать http2, один прокси с завершением SSL и несколько разных серверных программ для разных поддоменов.

Я нашел это объяснение проблемы и ищу решения, которые подойдут для haproxy. Что, вероятно, подойдет и для других прокси.

The problem you ran into is caused by "Connection coalescing".
For example, if a browser (Chrome/Firefox) connects to an http2 server "a.example.org" which resolves to 192.168.2.1 and later connects to "b.example.org", it checks 2 things:

1. Do DNS entries match? This will always be the case since our proxy only has one IP.
2. Has a.example.org provided a certificate that also matches b.example.org. (e.g. wildcard or multidomain cert).

If both are the case it will not initiate a second connection but instead reuse the existing connection to host a.example.org.
This is fine in theory but due to the use of sniproxy a.example.org is unable to handle b.example.org because they are in reality, two different hosts.
One way the solve this should be the use of different certs that only cover a single domain (e.g. no wildcard).
I have not tested it but I think it might work.

Есть ли способ заставить наш прокси 'haproxy' проверять существующие соединения и подтверждать, что домен, поддомен верны для бэкэнда, на который фактически отправляется соединение.

Мы пробовали изменить значения тайм-аута, используя силу

option http-server-close
option forceclose  

Ничего не работает так, как нам хотелось бы. Подключение к subA.domain.com, а затем подключение к subB.domain.com завершается ошибкой, поскольку они настроены на двух разных серверных ВМ. Браузер поддерживает одно и то же соединение и для двух разных серверных модулей.

0
задан 21 February 2020 в 13:17
1 ответ

Не ответ, а обходной путь. Приходится отключать HTTP2 на веб-сервере. Потом все снова работает. Иногда новый стандарт просто ломает старые вещи.

1
ответ дан 2 June 2020 в 14:22

Теги

Похожие вопросы