Ошибки Apache 70007 и 70014

У меня есть служба, где мобильные телефоны отправляют большой хэш данных на наш сервер, которые сидят на AWS за ELB. Время от времени мы получаем ошибки 70007 и 70014 в журналах ошибок apache, запросы отображаются в apache access.log, но не в журналах rails. Я пытаюсь выяснить, что это за ошибки. Наша Теория прямо сейчас – телефон отключается, и это происходит до того, как мы отправим нам запросы, чтобы он никогда не попадал на сервер рельсов.

Ошибки заключаются в следующем:

Unexpected error in mod_passenger: An error occurred while receiving HTTP upload data: The timeout specified has expired (70007) Unexpected error in mod_passenger: An error occurred while receiving HTTP upload data: End of file found (70014) 

Из всех моих googleing, которые я сделал, это то, что у меня есть:

70014: конец ошибки файла, что делает полный смысл в соответствии с нашей теорией.

70007: тайм-аут. Я помещал% D в формат журнала Apache, и я получаю время между 10-90 секундами. Установка времени ожидания Apache составляет 300 секунд. Также многие запросы занимают больше 10 секунд, и они не теряют время. Я также думал, что это может быть тайм-аут TCP, но после исследования понял, что тайм-аут TCP равен 7200 секундам; так что это тоже не так.

Любая идея, что это может быть? где еще я должен смотреть?

Этот вопрос на serverfault охватывает проблему, называемую Apache Proxy TimeOut . У вас есть 2 варианта:

  1. Увеличьте уровень ведения журнала

     LogLevel DEBUG 

    Уровень ведения журнала можно также настроить на определенные модули:

     LogLevel INFO proxy_module:trace5 
  2. Увеличьте время прокси-сервера между Apache и Rails-приложением

     ProxyPass /boom/ga https://super-load1-ga.test.com connectiontimeout=300 timeout=300 

Рекомендации

  • Apache> HTTP-сервер> Документация> Версия 2.4 – Файлы журналов