AWS Application Load Balancer преобразует все заголовки в нижний регистр

121
7

У меня есть приложение REST API, работающее в двух экземплярах EC2, и долгое время использовало AWS Classic Load Balancer. Клиенты REST API полагаются на заголовки ответов (например, такие как Location).

Я знаю, что заголовки HTTP не зависят от регистра по определению, однако (к сожалению) некоторые клиенты игнорируют это и проверяют заголовки чувствительным к регистру образом (например, они ожидают, что Location начнется с верхнего регистра).

Недавно я перешел на AWS Application Load Balancer, и теперь я вижу, что он преобразует все заголовки ответов в нижний регистр, в результате клиенты не в состоянии правильно обработать ответ.

У меня здесь пара вопросов.

Ожидается ли поведение балансировки нагрузки приложения? Есть ли способ настроить его для возврата заголовков, поскольку они были созданы приложением?

спросил(а) 2016-10-05T13:14:00+03:00 4 года назад
1
Решение
90

Это приводило к сбою наших сломанных клиентов, когда мы переключались с TCP ELB на HTTPS ELB.

Пока мы исправляем клиентов, мы временно отключили новую поддержку ELB HTTP/2, которая включена по умолчанию.

Disable HTTP/2 in the load balancer attributes

ответил(а) 2019-02-07T08:53:00+03:00 1 год, 8 месяцев назад
134

Это ожидаемая функция ALB, потому что HTTP/2 уменьшает все заголовки, а ALB поддерживает HTTP/2. К сожалению, вы не можете изменить способ манипулирования заголовками ALB.

Обновление: см. Комментарии ниже. Мое утверждение о том, что ALB уменьшает заголовок запроса из-за его поддержки HTTP/2, может быть неточным.

ответил(а) 2016-10-05T16:56:00+03:00 4 года назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема