Bonjour,

cela fait maintenant 2 jours que j'essaye de régler mon problème de passerelle apache <-> tomcat.
Peut être qu'une personne ici aura l'amabilité de m'aider dans ma tâche.

Les 2 tournent sur la même machine virtuelle debian lenny (base vmware esxi sur ovh).
Lorsque j'essaye d'accéder à mon site j'ai une erreur 503 :
Service Temporarily Unavailable

Apache tourne avec root
Tomcat avec l'utilisateur tomcat

Voici les logs de mod_jk :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
[error] jk_open_socket::jk_connect.c (444): socket() failed (errno=22)
[info] ajp_connect_to_endpoint::jk_ajp_common.c (959): Failed opening socket to (127.0.0.1:8009) (errno=22)
[error] ajp_send_request::jk_ajp_common.c (1585): (tomcat1) connecting to backend failed. Tomcat is probably not started or is listening on the wrong port (errno=22)
[info] ajp_service::jk_ajp_common.c (2540): (tomcat1) sending request to tomcat failed (recoverable), because of error during request sending (attempt=1)
[error] jk_open_socket::jk_connect.c (444): socket() failed (errno=22)
[info] ajp_connect_to_endpoint::jk_ajp_common.c (959): Failed opening socket to (127.0.0.1:8009) (errno=22)
[error] ajp_send_request::jk_ajp_common.c (1585): (tomcat1) connecting to backend failed. Tomcat is probably not started or is listening on the wrong port (errno=22)
[info] ajp_service::jk_ajp_common.c (2540): (tomcat1) sending request to tomcat failed (recoverable), because of error during request sending (attempt=2)
[error] ajp_service::jk_ajp_common.c (2559): (tomcat1) connecting to tomcat failed.
[info] jk_handler::mod_jk.c (2618): Service error=-3 for worker=tomcat1
errno(22) = Invalid argument

appel qui echoue dans mod_jk
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
    sd = socket(AF_INET, SOCK_STREAM | flags, 0);
    if (!IS_VALID_SOCKET(sd)) {
        JK_GET_SOCKET_ERRNO();
        jk_log(l, JK_LOG_ERROR,
               "socket() failed (errno=%d)", errno);
        JK_TRACE_EXIT(l);
        return JK_INVALID_SOCKET;
    }
jk.conf
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
<IfModule mod_jk.c>
  JkWorkersFile /etc/apache2/workers.properties
  JkLogFile /var/log/apache2/mod_jk.log
  JkShmFile /var/log/apache2/mod_jk.shm
</IfModule>
workers.properties
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
ps=/
worker.list=tomcat1
worker.tomcat1.port=8009
worker.tomcat1.host=localhost
worker.tomcat1.type=ajp13
virtual host:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
<VirtualHost *:80>
        ServerName www.toto.fr
        ServerAlias www.toto.com toto.fr toto.com
 
        ErrorLog /var/log/apache2/main_error.log
 
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
 
        CustomLog /var/log/apache2/main_access.log combined
 
        JkMount /* tomcat1
        JkLogFile /var/log/apache2/main_jk.log
        JkLogLevel info
</VirtualHost>
tomcat server.xml

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
<Server port="8005" shutdown="SHUTDOWN">
...
  <Listener className="org.apache.jk.config.ApacheConfig"
    modJk="/usr/lib/apache2/modules/mod_jk.so"
    workersConfig="/etc/apache2/workers.properties"/>
...
  <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
...
  <Engine name="Catalina" defaultHost="www.toto.com">
...
    <Host name="www.toto.fr"  appBase="mainapps"
             unpackWARs="true" autoDeploy="true"
             xmlValidation="false" xmlNamespaceAware="false"
             workdir="mainwork">
        <Alias>www.toto.com</Alias>
    </Host>
  </Engine>
...
netstat -putla | grep 8009
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
tcp6       0      0 [::]:8009     [::]:*      LISTEN      6031/java
Le plus bizarre est que j'arrive à me connecter en telent sur le port 8009 ...

telnet localhost 8009
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
Trying ::1...
Connected to localhost.
Escape character is '^]'.

Autre question : Le listener org.apache.jk.config.ApacheConfig est-il vraiment utile ?

Merci d'avance pour l'aide qu'on m'apportera.