Foros de discusión

Apache, mod_proxy_ajp und Liferay

Tom Riddley, modificado hace 14 años.

Apache, mod_proxy_ajp und Liferay

New Member Mensajes: 2 Fecha de incorporación: 1/09/09 Mensajes recientes
Hallo,

ich habe ein Problem mit unserem Liferay-System.
Wir verwenden es in Verbindung mit einem Apache Webserver Version 2.2.11 und dem AJP Connector (mod_proxy_ajp).

Das Problem ist, dass nach einiger Zeit das Portal nicht auf Requests reagiert. Das Error-Log des Apache weist dann immer wieder folgende Einträge auf:

[Mon Aug 31 23:14:36 2009] [error] (OS 10060)A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. : ajp_ilink_receive() can't receive header
[Mon Aug 31 23:14:36 2009] [error] ajp_read_header: ajp_ilink_receive failed
[Mon Aug 31 23:14:36 2009] [error] (120006)APR does not understand this error code: proxy: read response failed from <IPentfernt>:8009 (IPentfernt)


Wenn man dann den Apache neu startet, funktioniert alles wieder eine gewisse Zeit lang.

Wir verwenden folgendes:
  • Liferay Version 5.0.1
  • JDK_1.5.0.17
  • Apache 2.2.11
  • Windows Server 2003 SP1
  • mod_proxy_ajp


Außerdem wurde der Apache mit Virtuellen Hosts konfiguriert. Hat jemand eine Idee woran das liegen kann? Ich will nicht auf Microsofts IIS umschwenken, da ich glaube, dass der Apache der bessere Webserver ist.

Thx
Tom

p.s. Ich stecke erst seit Kurzem in der Materie und freue mich über ausführlichere Antworten (ruhig narrensicher...)
thumbnail
Jens Volgmann, modificado hace 14 años.

RE: Apache, mod_proxy_ajp und Liferay

Junior Member Mensajes: 43 Fecha de incorporación: 1/09/08 Mensajes recientes
Hi Tom,

wie sieht deine Konfiguration vom Apache VHost aus?

Viele Grüße,
Jens
Tom Riddley, modificado hace 14 años.

RE: Apache, mod_proxy_ajp und Liferay

New Member Mensajes: 2 Fecha de incorporación: 1/09/09 Mensajes recientes
Hallo,

also die httpd-vhosts.conf sieht recht unspektakulär aus.

#
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at 
# <url:http: httpd.apache.org docs 2.2 vhosts />
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.

#
# Use name-based virtual hosting.
#
NameVirtualHost *:80

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <virtualhost> block.
#
<virtualhost *:80>
    ProxyPreserveHost On
    ProxyPass / ajp://<hier steht die ip wo auch liferay läuft>:8009/
    ProxyPassReverse /  ajp://<hier steht die ip wo auch liferay läuft>:8009/
    ServerName /*hier steht eigentlich ein dns-name (habe ich zum posten entfernt)*/   
</hier></hier></virtualhost>

<virtualhost *:80>
  ProxyPreserveHost On
  ProxyPass / ajp://<hier steht die ip wo auch liferay läuft>:38009/
  ProxyPassReverse  / ajp://<hier steht die ip wo auch liferay läuft>:38009/
  ServerName /*hier steht ein weiterer dns-name*/
</hier></hier></virtualhost>

<virtualhost *:80>
  ProxyPreserveHost On
  ProxyPass / http://192.168.110.72/jira
  ProxyPassReverse / http://192.168.110.72/jira
  ServerName /*hier steht ein weiterer dns-name*/
</virtualhost>

<location jira>
  ProxyPass http://192.168.110.72/jira
  ProxyPassReverse http://192.168.110.72/jira
</location></virtualhost>


Grüße
T.
Kerstin Thormann, modificado hace 13 años.

RE: Apache, mod_proxy_ajp und Liferay

New Member Mensajes: 4 Fecha de incorporación: 23/09/09 Mensajes recientes
Hallo!!

Ich habe momentan gerade exakt das Problem das du da beschreibst! Hast du inzwischen schon eine Lösung dadfür gefunden??

Liebe Grüße
Kerstin
thumbnail
Andreas Stangl, modificado hace 13 años.

RE: Apache, mod_proxy_ajp und Liferay

New Member Mensajes: 23 Fecha de incorporación: 28/12/09 Mensajes recientes
Ich kann dir leider auch nicht sagen woran das liegt, hast du schon mal versucht apache per mod_jk mit liferay zu verbinden (also ohne proxy)? Hab schon mehrere Instanzen auf diese Weise aufgesetzt und bisher keine probleme damit gehabt.

Falls Ihr die Konfiguration nicht ändern wollt/könnt solltest Du mal das das Log-Level auf Debug stellen und relevanten Zeilen des Logfiles hier Posten. Zum Ändern des Log-Levels musst du einfach die Zeile
LogLevel Debug
in den VHost einfügen und den Apachen neu starten.

Vielleicht kommt man so der Ursache des Problems auf die Schliche...
Kerstin Thormann, modificado hace 13 años.

RE: Apache, mod_proxy_ajp und Liferay

New Member Mensajes: 4 Fecha de incorporación: 23/09/09 Mensajes recientes
Hallo,
danke für die rasche antwort.

log-Level hab ich bereits auf debug gestellt - ich werde aus der Fehlermeldung allerdings nicht schlau:
ajp_read_header: ajp_ilink_receive failed
[error] (120006)APR does not understand this error code: proxy: read response failed from
und das Zeile für Zeile!

Danke für die Anleitung für mod_jk - ich werds mal auf diese Variante versuchen!

LG
Kerstin
thumbnail
Darko Joseph Hojnik, modificado hace 13 años.

RE: Apache, mod_proxy_ajp und Liferay

Regular Member Mensajes: 125 Fecha de incorporación: 3/08/09 Mensajes recientes
ProxyRequests immer off setzen wenn der Server in der Front steht. Steht der in einer DMZ und wird von anderen Server abgegriffen ist das was anderes. Es gibt Leute die warten nur auf solch ein gefundenes Fressen.

Bindet alls ab dem Context /liferay von Tomcat ein

   <virtualhost 1.2.3.4:80>
   ServerName www.meine.tld
   RedirectMatch ^/$ /liferay/
   ProxyRequests off
      <location liferay />
         ProxyPass ajp://localhost:8009/funambol/
       &gt;
 </virtualhost>

Bindet alles ab / vom Tomcat ein

   <virtualhost 1.2.3.4:80>
   ServerName www.meine.tld
   ProxyRequests off
   ProxyPass / ajp://localhost:8009/
   ProxyPassReverse / ajp://localhost:8009/
 </virtualhost>

Bindet alles ab / vom Tomcat ein

   <virtualhost 1.2.3.4:80>
   ServerName www.meine.tld
   ProxyRequests off
   RewriteEngine  on
   RewriteRule ^(/.*)      ajp://localhost:8009/$1    [P]
 </virtualhost>


Ansonsten kannst Du auch MOD_JK ausprobieren. Unter Debian die worker.properties am besten in /etc/apache2 ablegen. Bei RHEL ist das anders includiert und egal. So aus dem Gedächntniss herraus müsste das so ungefähr gehen.
worker.properties

worker.list = worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=1
worker.worker1.cache_timeout=60
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=60

mod_jk.conf

LoadModule jk_module modules/mod_jk.so
JkWorkersFile /etc/httpd/conf.d/worker.properties
JkLogFile /var/log/httpd/mod_jk.log
JkLogLevel error
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkOptions +ForwardKeySize +ForwardURICompat +ForwardDirectories
JkRequestLogFormat "%w %V %T

Bindet alles ab / vom Tomcat ein

   <virtualhost 1.2.3.4:80>
   ServerName www.meine.tld
   JkMount /* worker1
 </virtualhost>


ich hoffe geholfen zu haben