Я читал на страницах поддержки Cloudflares, что они конвертируют трафик из HTTP2 в HTTP / 1.x при отправке запросов на наши внутренние прокси.
У нас есть сервис Cloudflare WAF, который направляет трафик во внутренний WAF нашего центра обработки данных, и этот WAF отправляет трафик на наш nginx, который в основном передает запросы к нашим внутренним сервисам.
Теперь наш WAF и nginx поддерживают протокол HTTP2, но мы отметили, что когда запросы поступают со стороны Cloudflares, они конвертируются в HTTP / 1.x, поскольку, по их мнению, нет смысла перенаправлять трафик с использованием того же HTTP2, потому что HTTP2 ориентирован на только улучшение поведения браузера.
Я не уверен, действительно ли нам не нужно, чтобы трафик отправлялся на все прокси, использующие один и тот же HTTP2. Может ли кто-нибудь пролить свет на эту тему?
HTTP / 2 улучшает предпочтение, устраняя неэффективность протокола путем добавления двоичного файла, мультиплексирование Уровень кадрирования для решения проблемы блокировки заголовка строки, естественно присущей более ранним версиям протокола HTTP. В основном это влияет на соединения с высокой задержкой и низкой пропускной способностью - например, от браузера к граничному узлу.
Для CDN к исходному серверу это обычно не проблема, особенно при кэшировании на стороне CDN, поэтому исходный сервер должен подвергаться меньшему воздействию.
Более подробный ответ здесь: https://stackoverflow.com/questions/41637076/http2-with-node-js-behind-nginx-proxy
Или, если действительно интересует эта тема, то я написал книгу по этой теме (сейчас она доступна в раннем доступе, но скоро будет опубликована): https://www.manning.com/books/http2-in-action