Ich habe eine Spring -MVC -Anwendung mit Frühlingssicherheit gesichert. Die Mehrheit der Anwendung verwendet einfache HTTP, um Ressourcen zu speichern, aber ein kleiner Teil verarbeitet mehr vertrauliche Informationen und erfordert einen HTTPS-Kanal.
Code: Select all
...
< /code>
Alle funktionieren gut, bis wir uns entschlossen haben, ihn auf den Hauptserver zu migrieren, wo die Anwendungsserver hinter Reverse Proxies laufen. Und da HTTPS jetzt von den Reverse-Proxies verarbeitet wird, sieht der Anwendungsserver nur HTTP-Anforderungen und macht den Zugriff auf/Sec/**
Hierarchie nicht aus.
wird verwendet, um die angebotene Kanalsicherheit zu bestimmen (aus SecurechannelProcessor javadoc extrahieren). Der Proxiesadministrator mag diese Lösung wirklich nicht, da hinter den Proxies viele Anwendungen steigen und die Konfiguration zu einem nicht verwaltbaren Zustand wachsen könnte. Proxies entfernen Sie den Header, wenn er in eingehender Anfrage vorhanden war, sodass die Anwendung darauf zuversichtlich sein kann.