подсистема балансировки нагрузки амазонки возвращает код ошибки 400

У нас есть подсистема балансировки нагрузки на амазонке, которые уравновешивают 4 сервера. Отправляя определенный запрос HTTP к подсистеме балансировки нагрузки я получаю код ошибки Http 400. Но когда я отправляю тот же самый запрос к каждому из серверов непосредственно, я получаю Http 200 хорошо. Другие запросы хорошо работают, используя стабилизатор.

Какие-либо идеи?

Спасибо.

6
nl ja de
Добро пожаловать в Stackoverflow. Чтобы получить хорошие ответы на вопросы, пожалуйста, рассмотрите регистрацию некоторого примера кода
добавлено автор cordialgerm, источник
Можно ли приклеить здесь заголовки HTTP?
добавлено автор Ofir Luzon, источник

3 ответы

Не знайте, поможет ли это вам, но у меня была подобная проблема. Я использовал jMeter и получая доступ к моему случаю по подсистеме балансировки нагрузки AWS, которую я буду всегда получать: HTTP/1.1 400 BAD_REQUEST. После партии отладки я узнал, что посылал пустой заголовок (никакое имя и никакая стоимость), потому что у меня была пустая строка в менеджере по Заголовку HTTP в jMeter. Так, я предполагаю, AWS ELB делает некоторую проверку заголовков и возвращает HTTP 400, даже жесткий, у меня не было проблем с движением с тем же самым запросом к моим случаям непосредственно. Я не знаю, поможет ли это вам, но необходимо перепроверить заголовки для некоторой глупой ошибки как этот: D

5
добавлено
O.... M..... G! Я can' t верят that' s, что держало меня и сводило меня с ума. Модник спасибо, я don' t думают, что я заметил бы это несоответствие без вас.
добавлено автор Matthew Kuraja, источник

У меня была подобная проблема к этому, и она была вызвана СТИХАРЕМ, не принимающим методы HTTP, которые находятся в нижнем регистре.

GET http://myhost.com/foo -> HTTP 200
get http://myhost.com/foo -> HTTP 400
1
добавлено

400 шоу плохо просят.. Вы уверены, что не посылаете ничего злонамеренного в запросе к вашему ELB? Вы формировали ELB правильно, который должен сказать отображение портов (ELB слушает на порте 80) к правильному порту на вашем сервере (который, мог бы быть порт 8080 на коте),

Кроме того, я рекомендовал бы вам проверить вкладку Instances на ELB. И удостоверьтесь, что все ваши 4 сервера показывают как "В Обслуживании".

0
добавлено