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

Увеличение таймаута для подключений mod_proxy_ajp

У меня apache (2.2.3) разговаривает с tomcat 6. что-то через mod_proxy_ajp.

У меня есть несколько смехотворно долгоживущих запросов (2-6 минут), и я думаю, что мы достигли некоторого тайм-аута по умолчанию ... где правильное место, чтобы поднять это?

вот мой прокси-сервер:

<Location /blah>
  ProxyPass ajp://localhost:8010/blah
  ProxyPassReverse ajp://localhost:8010/blah
</Location>

Я не могу сказать, что пробовал это, но меня интересовал вопрос, поэтому я немного погуглил и нашел этот:


Директива ProxyTimeout

Эта директива позволяет пользователю указать тайм-аут для запросов прокси. Это полезно, когда у вас медленный / глючный сервер приложений, который зависает, и вы предпочитаете просто вернуть тайм-аут и корректно завершиться с ошибкой, вместо того, чтобы ждать, сколько времени потребуется серверу для возврата.


Значение по умолчанию - это значение директивы Timeout, которое, в свою очередь, равно 300 секундам. Так что попробуйте увеличить ProxyTimeout и посмотрите, поможет ли это.

P.S. Имейте в виду, что Tomcat также может иметь свои собственные тайм-ауты. Этот документ есть дополнительная информация (хотя имейте в виду, что у меня нет личного опыта с этими настройками).

Если вы хотите изменить тайм-аут только для прокси ajp, а не глобально, вы можете добавить параметр «тайм-аут», например:

<Location /blah>
  ProxyPass ajp://localhost:8010/blah timeout=600
  ProxyPassReverse ajp://localhost:8010/blah
</Location>