#java #apache #glassfish #webserver #mod-jk
#java #apache #glassfish #веб-сервер #mod-jk
Вопрос:
У меня есть это веб-приложение, размещенное на сервере Glassfish, которое отлично работает, если к нему осуществляется прямой доступ через порт 8080 по протоколу HTTP или 8181 по протоколу HTTPS.
В моей производственной среде у нас есть интерфейсный веб-сервер, который доступен через Интернет. Это служба Apache httpd, которая поставляется в комплекте с RHEL server. Этот веб-сервер перенаправляет запросы с помощью модуля mod_jk на соответствующий внутренний сервер приложений. Итак, я настроил свой сервер Glassfish на прослушивание JKListener на порту xxx, а веб-сервер настроен на перенаправление любых запросов для моего нового веб-приложения в Glassfish JKListener.
Сначала кажется, что все работает нормально, перенаправление происходит, как и ожидалось. Но вскоре мое веб-приложение перестает отвечать, и ничего не происходит, пока я не перезапущу сервер Glassfish.
Покопавшись в логах mod_jk, я обнаружил следующие ошибки —
1 -
[info] ajp_send_request::jk_ajp_common.c [1234] (worker) all endpoints are dissconnected , detected by connect check [1], cping (0), send (0)
2 -
[info] jk_handler::mod_jk.c (2618): Service error=-3 for worker=worker1
[error] ajp_service::jk_ajp_common.c (2559): (worker1) connecting to tomcat failed.
[info] ajp_service::jk_ajp_common.c (2540): (worker1) sending request to tomcat failed
(recoverable), because of error during request sending (attempt=2)
[error] ajp_send_request::jk_ajp_common.c (1585): (worker1) connecting to backend failed. Tomcat is probably not started or is listening on the wrong port (errno=111)
[info] ajp_connect_to_endpoint::jk_ajp_common.c (959): Failed opening socket to (A.B.C.D:xxx) (errno=111)
Первый элемент журнала также повторялся много раз, когда все, кажется, работает нормально
В журналах glassfish по этому поводу не было ничего доступного, ниже приведены сведения об окружающей среде
- Интерфейсный веб-сервер : RHEL 4.5, Apache Httpd 2.0.57
- Сервер веб-приложений: RHEL 5.4, glassfish 3.1.2.2
- Веб-приложение — использует JSF 2.1, Primefaes 3.5, используя Primepush для событий, отправляемых сервером
Ответ №1:
Вы добавили исключение своей страницы в virtualhosts? Попробуйте это: http://www.codefactorycr.com/glassfish-behind-apache.html
Комментарии:
1. Можете ли вы подробнее рассказать о добавлении исключения страницы для виртуальных хостов, предоставленная ссылка содержит только базовую настройку и ничего не сообщает об исключениях страницы
2. Эта ссылка была просто для того, чтобы сравнить вашу работу с их работой и посмотреть, не пропустили ли вы что-то. Можете ли вы опубликовать свой worker.properties и httpd.conf и