Ich habe ein Problem beim Versuch, <security:intercept-url ... requires-channel="https"/>
richtig auf WAS zu verwenden. Der Anwendungsserver ist SSL-fähig.
Wenn ich meine Konfiguration so habe: -
%Vor% ... Ich kann sowohl http://server/myapp
als auch https://server/myapp
treffen. In beiden Fällen konnte Spring Security diese URL abfangen und mir die Anmeldeseite präsentieren.
Nun möchte ich alle HTTP-URLs auf HTTPS-URLs umleiten. Also habe ich requires-channel="https"
zu <security:intercept-url />
... jetzt, wenn ich versuche, http://server/myapp
zu treffen, sehe ich http://server/myapp/myapp/myapp/myapp/myapp/myapp
und es geht in eine Redirect-Schleife.
Also habe ich die Portzuordnungen neu definiert: -
%Vor% ... wenn ich versuche, http://server/myapp
zu treffen, ändert sich die URL in der Browserleiste nicht, aber ich bekomme immer noch das "redirect loop" -Problem. Selbst wenn ich versuche, https://server/myapp
zu treffen, bekomme ich immer noch das gleiche Problem.
Ich habe keine Ideen mehr, wie ich dieses Problem beheben kann. Es scheint, als wenn ich requires-channel="https"
hinzufüge, bricht es auf WAS aber es funktioniert gut auf Jetty. Meine aktuelle Problemumgehung ist das Entfernen von requires-channel="https"
, so dass https auf WAS funktioniert, aber dann können die Benutzer mit http zu der Site kommen.
Um nur ein weiteres Problem zu lösen: Das Hinzufügen von Port 9080 für HTTP und Port 9443 für HTTPS behebt das Problem weder in WAS.
Irgendwelche Ideen? Danke für Ihre Hilfe.
Meine aktuelle Problemumgehung ist das Entfernen von require-channel="https" https arbeitet an WAS, aber dann können die Benutzer mit http zu der Site kommen.
Ich habe keine Lösung für das Problem, aber hier ist eine Problemumgehung, die das Problem behebt:
%Vor%Dies ist plattformunabhängig und sollte daher sowohl mit WAS als auch mit anderen Containern funktionieren.
Tags und Links java ssl spring spring-security websphere