ALB в AWS Application Load Balancer поддерживают HTTP / 2, и можно подумать, что мы можем переключиться на них и сразу же воспользоваться преимуществами HTTP / 2.
Есть ли какой-либо способ завершить работу HTTP / 2 на ALB, чтобы веб-серверы не нуждались в настройке для поддержки HTTP / 2?
Есть ли какой-либо способ завершить работу HTTP / 2 в приложении AWS Application ELB, чтобы веб-серверы не нуждались в настройке для поддержки HTTP / 2?
Им уже не нужно быть.
В Application Load Balancer (ELB / 2.0) это работает из коробки. ALB обращается к экземплярам, используя HTTP / 1.1, одновременно передавая HTTP / 2 браузеру, если браузер поддерживает его, в противном случае - HTTP / 1.x.
Вы можете использовать HTTP / 2 со слушателями HTTPS. Вы можете отправлять до 128 запросов параллельно, используя одно соединение HTTP / 2. Балансировщик нагрузки преобразует их в отдельные запросы HTTP / 1.1. и распределяет их по здоровым целям в целевой группе, используя алгоритм циклической маршрутизации. (курсив мой)
http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html
ELB не поддерживает HTTP2, ALB поддерживает, и то же самое. CloudFront. Вы можете перевести ELB в режим TCP и поддерживать HTTP2 с помощью своего веб-сервера, но это снимает защиту, которую вы получаете от ELB (он снова защищает вас от множества атак, DDOS, SYN Flood и т. Д.).
Если вам нужен HTTP / 2, ваши варианты в том порядке, который я считаю оптимальным, следующие: