Pivotal CloudFoundry: Erzwingen von HTTPS (SSL)
Ich möchte HTTPS für eine Spring Boot-Anwendung erzwingen, die bei Pivotal CloudFoundry gehostet wird, und ich denke, die meisten Anwendungen möchten dies heute. Die übliche Vorgehensweise ist, wie ich weiß, die Verwendung von
http.requiresChannel().anyRequest().requiresSecure()
Aber dies verursacht eine Umleitungsschleife. Die Ursache, wie ich unter Bezugnahme auf Beiträge wie @ versteDie bedeutet, dass der Load Balancer https zurück in http konvertiert. Das bedeutet, dass dies auf der Ebene des Lastenausgleichs erfolgen muss.
Also, gibt es eine Option, um CloudFoundry anzuweisen, HTTPS für eine Anwendung zu erzwingen? Wenn nicht, sollte dies keine Funktionsanforderung sein? Und was könnte ein guter Weg sein, um dies heute zu haben?
Aktualisiere: Hat einer von Ihnen vom Cloud Foundry- oder Spring Security-Team diesen Beitrag gesehen? Ich denke, dies ist eine wesentliche Funktion, bevor man eine Anwendung auf CloudFoundry hosten kann. Beim Googeln fand ich keine einfache Lösung, als den Benutzern zu sagen, dass sie https anstelle von http verwenden sollen. Aber selbst wenn ich das sage, leitet Spring Security einen anonymen Benutzer, der versucht, auf eine eingeschränkte Seite zuzugreifen, zurück zur http-Anmeldeseite.
Update 2: Natürlich haben wir diex-forwarded-proto
header, wie viele Antworten vermuten lassen, aber ich weiß nicht, wie schwierig es wäre, die Funktionen von Spring Security anzupassen, um dies zu nutzen. Dann haben wir andere Dinge wie Spring Social, die sich in Spring Security integrieren, und ich hatte gerade auch dort ein Problem. Ich denke, dass Spring Security und jede Menge andere Frameworks Lösungen für die Verwendung von @ anbieten müssex-forwarded-proto
, oder CloudFoundry muss eine Möglichkeit haben, transparent damit umzugehen. Ich denke das wäre später weit bequemer.