Ich bin völlig aus Ideen mit diesem und glaube, ich brauche die Hilfe von jemandem mit einem guten Verständnis von Apache (2.4) und Tomcat (8.5)Apache Reverse-Proxy mit AJP mit Tomcat 302 umleitet
zu gewinnenIch habe eine Spring MVC 4 Web-App, die perfekt funktioniert, wenn ich den Proxy umgehe, um darauf zuzugreifen, aber es scheitert immer, wenn ich über den Proxy gehe und einen Link besuche, der zu einem 302 Redirect führt.
Direkt gehen Ich werde auf den richtigen Pfad umgeleitet, damit ich weiß, dass es nicht die Web-App ist, die dem Client die falsche URL zurückgibt. Aber über den Proxy werde ich an einen Ort weitergeleitet, der scheinbar der URL den Kontextpfad voranstellt - der bereits vorhanden ist! So erscheint es zweimal und daher gibt es eine Anfrage für eine URL, die nicht existiert!
Wenn ich mir die Tomcat s Zugriffsprotokolle anschaue, kann ich den Pfad der 302-Weiterleitung mit dem Kontextpfad voranstellen - ein doppelter Kontextpfad!
80.229.100.100 - - [04/Mar/2017:08:07:54 +0000] "GET /ctxPath/redirect HTTP/1.1" 302 -
80.229.100.100 - - [04/Mar/2017:08:07:54 +0000] "GET /ctxPath/ctxPath/testUrl HTTP/1.1" 404 986
Dies muss Tomcat Antwort auf HTTPD sein - die den AJP-Anschluss verwendet. Beim direkten Zugriff auf die Seite geht es über den HTTP-Connector und funktioniert einwandfrei. Ich habe meine HTTPD-Konfiguration aktualisiert, um den HTTP-Connector zu verwenden und das gleiche Ergebnis für 302 Weiterleitungen zu erhalten.
Wie Sie sehen können, führt jede Weiterleitung zu einem 404. Muss ich die Tomcat-Konfiguration in irgendeiner Weise ändern?
Derzeit meine HTTPD Config sieht wie folgt aus (der Port 9009 korrekt ist, wie ich mehrere Tomcat-Installationen haben):
ProxyPass/ajp://localhost:9009/ctxPath/
ProxyPassReverse/ajp://localhost:9009/ctxPath/
ProxyPassReverseCookiePath /ctxPath/
Was bin ich?