Маршрутизация Apache к рабочему серверу JBoss

У нас есть производство JBoss, на котором работает наше JAVA-приложение. Мы настроили Сервер Apache (демилитаризованная зона), чтобы направить трафик к рабочему серверу JBoss и увеличить безопасность. Мы использовали mod_jk модуль Apache для маршрутизации к версии 2.2 Apache и производству. Это хорошо работало в течение нескольких месяцев, но в течение некоторого времени у нас есть эта ошибка:

Bad Gateway
The proxy server received an invalid response from upstream server.

Мой worker.property на Apache:

worker.list=ws    
worker.ws.port=8009
worker.ws.host=192.168.56.102
worker.ws.type=ajp13

Мой httpd.conf файл имеет после виртуального хоста к этому рабочему:

<virtualhost *:443>
 ErrorLog "logs/dmz-error.log"
 CustomLog "logs/dmz-access.log" common

 JkMount /ws/ ws
 JkMount /* ws

 JkLogFile logs/mod_jk_prod.log
 JkLogLevel error
 JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
 JkOptions +ForwardKeySize +ForwardURICompatUnparsed -ForwardDirectories
 JkRequestLogFormat "%w %V %T"

 RewriteEngine On
 RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
 RewriteRule .* - [F]
</virtualhost>

JBoss работает на конфигурации по умолчанию. Эта система работала со старой версией Apache с теми же конфигурациями и маршрутизацией. Но мы должны были заменить машину Apache, и также нас требовали обновить Apache до 2,2 версий. Мы сталкиваемся с этой проблемой в течение почти 2 месяцев. Mod_jk регистрируют шоу после ошибки:

[Tue Sep 23 11:52:01 2014][1392:1900] [error] ajp_get_reply::jk_ajp_common.c (2126): (ws) Tomcat is down or refused connection. No response has been sent to the client (yet)
[Tue Sep 23 11:52:01 2014][1392:4028] [error] ajp_get_reply::jk_ajp_common.c (2126): (ws) Tomcat is down or refused connection. No response has been sent to the client (yet)

Мы не можем найти решение для этой проблемы. Когда эту ошибку показывают, обновление страницы в течение нескольких раз разрешает его, но несколько раз, мы не можем получить доступ к нашему приложению. Как я могу знать фактическую причину этой ошибки? Некоторое тело помогите.

0
задан 25 September 2014 в 10:52
1 ответ

Вероятно, это происходит из-за того, что брандмауэр разрывает соединение ajp13 между mod_jk и JBoss. Однако это не проблема с брандмауэром, но, вероятно, из-за настроек по умолчанию в файле worker.properties mod_jk и в JBoss.

В worker.properties добавьте:

worker.list=ws    
worker.ws.port=8009
worker.ws.host=192.168.56.102
worker.ws.type=ajp13
worker.ws.socket_keepalive=True
worker.ws.connection_pool_timeout=600

"socket_keepalive" отправляет сообщения поддержки активности через сеанс ajp13 в JBoss.

«connection_pool_timeout» закроет сеанс ajp13 после 10 минут бездействия.

В server.xml в разделе соединителя JBoss ajp13 (JBoss 4,5,6)

<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"
connectionTimeout="600000" /> 

JBoss 7 Make Время ожидания подключения веб-коннектора настраивается и Настройка времени ожидания коннектора jboss7 ajp

0
ответ дан 5 December 2019 в 13:16

Теги

Похожие вопросы