Ich starte eine Spring Boot (Jhipster/Undertow) Anwendung auf Port 8080 auf einer AWS EC2 Instanz.Spring Boot mit Embedded Undertow hinter AWS ELB - HTTPS Umleitung
Ich habe eine AWS ELB
80 -> 8080
443 (SSL termination happens here) -> 8080
Die Anwendung verwendet Spring Security umleiten konfiguriert und wenn Sie Benutzer http://example.com ankommt will ich es https://example.com, umleiten SSL zu verwenden.
Ich habe verschiedene Beispiele für die Konfiguration in Tomcat gefunden, aber keine mit Undertow.
Ich habe dies versucht, mit einem zweiten Port 8089, und es Redirect wie erforderlich, aber dies bewirkt, dass Port 8080 auch umleitet, was ich nicht will.
80 -> 8089
443 (SSL termination happens here) -> 8080
@Bean
public EmbeddedServletContainerFactory undertow() {
UndertowEmbeddedServletContainerFactory undertow = new UndertowEmbeddedServletContainerFactory();
undertow.addBuilderCustomizers(builder -> builder.addHttpListener(8089, "0.0.0.0"));
undertow.addDeploymentInfoCustomizers(deploymentInfo -> {
deploymentInfo.addSecurityConstraint(new SecurityConstraint()
.addWebResourceCollection(new WebResourceCollection()
.addUrlPattern("/*"))
.setTransportGuaranteeType(TransportGuaranteeType.CONFIDENTIAL)
.setEmptyRoleSemantic(SecurityInfo.EmptyRoleSemantic.PERMIT))
.setConfidentialPortManager(exchange -> 443);
});
return undertow;
}
Wie kann ich Undertow konfigurieren, um dies zu erreichen?
https://twitter.com/ankinson/status/829256167700492288 vielleicht beziehen sich auf ein ähnliches Problem, das Sie lösen möchten? –