2016-12-01 2 views
0

У нас возникла проблема, когда наш IBM HTTP-сервер возвращает ошибку «400 Bad Request», и мы не можем найти причину.Исследуйте ошибку 400 Bad Request, возвращенную сервером IBM HTTP

Запрос представляет собой запрос SOAP, который должен обслуживаться службой SOB Tibco, но запрос не доходит до приложения (в журналах приложений нет журналов) - и на сервере HTTP-сервера ошибка. ,

HTTP-сервер, который мы используем, является только прокси-сервером и просто передает запрос в приложение.

Из журналов доступа:

10.239.12.250 - - [17/ноябрь/2016: 10: 23: 19 +0000] "POST/броньПроверить HTTP/1.1" 400 - 300 «Java1.7.0 _40" 300/300021637

Когда я проверил журналы ошибок:

[чт ноя 17 10:28:19 2016] [ошибка] (70007) Тайм-аут указанный имеет истек: прокси: тело запроса предварительной выборки не выполнено [:: 1]: 9876 (temp.adv.com) от 10.213.123.12

Ошибка возвращается через 5 минут после получения запроса, как вы можете видеть из журналов.

Некоторые моменты следует отметить:

Ошибка только от одного клиента (несколько клиентов используют ту же самую услугу), и они используют OSB/НаWebLogic для балансировки нагрузки

Это happends только 10-20 процентов запросов и является случайным. Тот же запрос, когда он снова отправляется с помощью Load Balancer (когда он не получит ответа через 2,5 минуты, сервер отвечает правильно)

Я хотел бы знать, есть ли способ захватить то, что может быть причиной ошибки к? Каковы возможные причины ошибки 400 \ Bad Request Error?

ответ

1

Сообщение об ошибке означает, что mod_proxy ждал тело POST и он никогда не передавался клиентом. Поэтому Content-Length или Transfer-Encoding: chunked, отправленный клиентом, был недействительным, в результате чего был указан код состояния 400.

Вы можете раскомментировать LoadModule для «mod_net_trace» для записи ввода-вывода, выполненного для этих запросов, и посмотреть, какой тип тела ожидался, и подтвердить, что он никогда не был доступен.

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