1 votes

Session invalide lors de l'utilisation d'AJP

J'ai la configuration suivante : Apache exécute le front-end (AngularJS)
Tomcat 7 Running back end (Spring MVC, Spring Security)

Configuration d'Apache

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    LoadModule proxy_module libexec/apache2/mod_proxy.so
    LoadModule proxy_ajp_module libexec/apache2/mod_proxy_ajp.so

    ProxyRequests     off
    ProxyPreserveHost on

    ProxyPass         /api/  ajp://132.230.166.21:8009/OntoRais/api/
    ProxyPassReverse  /api/  ajp://132.230.166.21:8009/OntoRais/api/

    Alias /rais "/home/bwright/Repositories/ontology-toolchain/WebClient"
    <Directory "/home/bwright/Repositories/ontology-toolchain/WebClient">
        Order allow,deny
        Allow from all
        Require all granted
    </Directory
</VirtualHost>

Comme on peut le voir, je passe tous les appels api au serveur tomcat en utilisant le protocole ajp.

Configuration de Tomcat (Server.xml)

Rien n'a changé depuis l'installation propre, à part :

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"  enableLookups="false"/>

Maintenant, lorsque j'essaie d'accéder à une ressource tomcat via le front-end, j'obtiens 403

HTTP Status 403 - Full authentication is required to access this resource accessing /OntoRais/api/user

Dans le journal du serveur Tomcat, j'obtiens

13:25:10.034 [ajp-bio-8009-exec-7] DEBUG o.s.s.w.s.SessionManagementFilter - Requested session ID ED0779DC647DEE3C58DEA7059C260594 is invalid. 

Lorsque l'on accède à la même ressource via le bowser directement sur le serveur tomcat http://localhost:8080/OntoRais/api/user tout fonctionne bien.

Modifier

Pour clarifier, 132.230.166.21 est la même machine que localhost. J'ai changé la configuration pour dire localhost sans aucun changement.

J'espère que quelqu'un ici pourra m'aider. merci Benedict

1voto

Le problème était de définir le SESSIONID après l'ajout.

ProxyPassReverseCookiePath /OntoRais /

dans les paramètres d'apache, tout a fonctionné.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X