web-dev-qa-db-fra.com

Le serveur Apache n'est pas capable de lire les cookies du navigateur

J'ai développé une page d'authentification de connexion à l'aide de cookies (avec la sécurité printanière) où, pour la première fois, l'utilisateur devra s'authentifier. Une fois que l'utilisateur est authentifié avec succès, il est redirigé vers la page de réussite lors de chaque requête ultérieure émanant du même navigateur. Le code fonctionne bien sur

localhost:8080 

mais le problème est que j'ai configuré le serveur HTTP Apache et que lorsque je lance la requête sur le serveur Apache vers l'application, je pense que les cookies ne sont pas lus par le serveur Apache.

J'ai activé les cookies dans le fichier httpd.conf (mais cela ne fonctionne pas) aussi

LoadModule usertrack_module modules/mod_usertrack.so

et

<VirtualHost *>
    ServerName localhost
    CookieTracking on
    ProxyPass / http://localhost:8080/stackoverflow/
</VirtualHost>

S'il vous plaît laissez-moi savoir ce que je fais mal

2
Bhuvan

Votre serveur sur localhost est probablement en train d'écrire les cookies pour localhost ou pour le répertoire stackoverflow. Lorsqu'il est accédé de derrière un proxy inverse, il doit le reconnaître et définir le nom de domaine correct pour les cookies.

Au lieu des compétences pour cela résidant dans l'application Web sur le port 8080, vous pouvez faire en sorte que le proxy inverse traduise les cookies:

ProxyPassReverseCookiePath /stackoverflow /
ProxyPassReverseCookieDomain localhost example.com

Voir cette question sur StackOverflow où j'ai posé une question sur les cookies jsessionid et utilisé cette technique sur le proxy inverse pour résoudre mon problème.

1