Назад | Перейти на главную страницу

Устранение периодически возникающих ошибок неверного запроса Apache 400

Я пытаюсь отладить проблему в своем приложении и ищу предложения или советы по устранению неполадок.

Мое приложение состоит из мобильного приложения, отправляющего данные через HTTPS в apache (которое использует mod_proxy для пересылки на сервер django). Тем не менее, я добавил ведение журнала на уровне django, и это, кажется, указывает на то, что 400 поступает напрямую из Apache и вообще не пересылается.

Также это происходит только для очень небольшого подмножества POST. Из-за нечастости проблемы и того факта, что она исходит с телефонов, к которым у меня нет доступа, ее было трудно воспроизвести и отладить.

Какие типы вещей мне следует искать, чтобы решить эту проблему? Я нашел эта почта но я уже использую Apache 2.2.22, так что это не проблема.

Из-за большого количества запросов я не решаюсь добавлять полное ведение журнала к каждому запросу (хотя, может быть, я смогу выполнить условное ведение журнала?).

Ищем предложения по:

Из RFC2616, a 400 - плохой запрос:

Запрос не может быть понят сервером из-за неправильного синтаксиса. Клиенту НЕ СЛЕДУЕТ повторять запрос без изменений.

Итак, что-то в запросе вызывает ошибку 400. Что вы можете попробовать:

  • изучите журналы ошибок Apache; вы также можете увеличить уровень журнала из warn (по умолчанию) на debug, а затем просмотрите журналы ошибок
  • изучите tcpdump такого запроса (в Интернете доступно множество руководств) - это может быть вашим лучшим вариантом для поиска основной причины.

Вот сообщение в блоге об устранении 400 ошибок в IIS это тоже может быть полезно.