Wie setze ich den JSESSIONID-Cookie-Pfad richtig hinter den Reverse-Proxy ein?

Meine web-app läuft im Tomcat an http://localhost:8080/example.com/ aber es ist als reverse Proxy für den Apache, welcher bis http://example.com/ auf port 80. Meine web-app sieht am request.getHeader("x-forwarded-host") header zu wissen, dass es hinter einem reverse-proxy. Wenn es dies feststellt (dynamisch), es baut URLs ohne die servlet-Pfad auf.

Dies funktioniert gut für alles, außer für das JSESSIONID-cookie. Es wird mit einem Pfad von /example.com statt / wenn der Zugriff über den reverse-proxy. Ich kann nicht herausfinden, wie kann ich meinen code sagen Tomcat überschreiben Sie den Pfad für das cookie, wenn es eine x-forwarded-host - header der Anfrage.

Ich habe versucht, die Einstellung des JSESSIONID cookie von der web-app selber, aber das nur die Ergebnisse in zwei Set-Cookie-Header, von denen nur eine richtig ist.

InformationsquelleAutor der Frage Stephen Ostermiller | 2012-02-28

Schreibe einen Kommentar