Сброс соединения по пиру: ajp_ilink_receive() не может получить заголовок

Я вижу это в журнале Liferay 6 (кластерное веб-приложение на основе Tomcat):

APR does not understand this error code: proxy: read response failed from [::1]:8009 (localhost)
The timeout specified has expired: ajp_ilink_receive() can't receive header
ajp_read_header: ajp_ilink_receive failed

[... the 3 lines above repeated many times ...]

Connection reset by peer: ajp_ilink_receive() can't receive header
APR does not understand this error code: proxy: read response failed from (null) (localhost)
ajp_read_header: ajp_ilink_receive failed

[... the 3 lines above repeated many times ...]

Веб-приложение становится непригодным для использования (веб-интерфейс не отвечает на веб-запросы), когда начинают появляться ошибки "Сброс соединения по одноранговым узлам".

Пока первая проблема (The timeout specified has expired) покрывается другим вопросом, что обычно вызывает вторую проблему (Connection reset by peer) а в чем разница между двумя проблемами?

1 ответ

На основании того, что другие пользователи задают этот вопрос на разных веб-сайтах, я предлагаю вам установить время ожидания соединения.

Пример ниже.

ProxyPass / ajp://localhost:8009/ timeout=600

https://stackoverflow.com/questions/32093534/ah01030-ajp-ilink-receive-cant-receive-header

mod_proxy_ajp (70007) Истекло указанное время ожидания: ajp_ilink_receive() не может получить заголовок

Если в конфигурации уже указан тайм-аут соединения, другой пользователь обнаружит, если он изменил mod_proxy_ajp на mod_jk.

https://community.atlassian.com/t5/Jira-questions/503-Error-ajp-read-header-ajp-ilink-receive-failed/qaq-p/130248

Я знаю, что таймауты обычно являются проблемой, однако после наблюдения аналогичной проблемы, когда размер был проблемой, установленной на самом коннекторе AJP, я думаю, что стоит опубликовать, чтобы включить ведение журнала доступа на вашем коннекторе, чтобы получить правильное ведение журнала (так как это не сделано по умолчанию в подсистемах коннектора jboss) или посмотрите на размер запросов, поскольку apache обычно устанавливает эти типы ограничений выше, чем те, которые могут быть по умолчанию для tomcat или jboss.

1.1.1.1.1 - - [19/ Дек /2019:14:33:53 -0500] "POST /app HTTP/1.0" 500 532 "-" "-"

Я включил комбинированную запись журнала Apache, поскольку считаю, что размер 532 является подсказкой на ответ от коннектора ajp. В моем случае 90% запросов приходили, за исключением больших объемов документов, которые мои разработчики смогли изучить и идентифицировать. Изучив значения по умолчанию для Apache и коннектора ajp в их документации, я решил удвоить "Максимальный размер сообщения" и получить запрос как 200. Я также заметил меньший размер в журналах доступа Apache, когда он был 200, поэтому вот почему Я думаю, что размер 532 важно отметить.

Другие вопросы по тегам