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

apache_mod_proxy и тайм-аут сокета tomcat7

Я настроил Apache tomcat7 как бэкэнд и apache2.2 как внешний интерфейс на одном сервере CentOS 6, и вот часть моих конфигураций:
В Server.xml У меня есть:

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" connectionTimeout="600000" maxKeepAliveRequests="100" URIEncoding="UTF-8"/>

& в httpd.conf:

ProxyRequests Off
Timeout 600
ProxyTimeout 600
ProxyPass / ajp://localhost:8009/
ProxyPassReverse / ajp://localhost:8009/

Проблема в том, что выполнение некоторых сервлетов на моем сервере tomcat занимает около 3 минут, но через одну минуту открытый сокет на сервере (независимо от того, какой клиент я использую, будь то браузер или любое другое клиентское приложение) неожиданно закрывается сервером (в любом случае, выполнение сервлета продолжается до конца, даже после закрытия сокета).
В sysctl.conf Я изменил значение для net.ipv4.tcp_fin_timeout к 600 и я уверен, что это не проблема тайм-аута ОС, потому что, когда я обращаюсь к другому трудоемкому сценарию без mod_proxy (например, к сценарию PHP с 3-минутным временем выполнения на том же сервере apache), он отлично работает со всеми клиентами.
Любое предложение будет оценено

Попробуйте настроить тайм-аут подключения в директиве Proxy, как показано ниже

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

Я использовал эти настройки для своего приложения, и оно работало нормально