将HTTP重定向到jhipster中的https

时间:2018-07-12 21:46:19

标签: spring-boot https jhipster http-redirect undertow

我有一个使用Spring Boot的jhipster(4.14.5)整体应用程序,该应用程序在生产中与http v2一起运行,并使用证书强制ssl。应用程序服务器使用一个嵌入式的underwow容器,该容器是使用自动构建器(jhipster中的标准配置)创建的。

不幸的是,它不会自动将在浏览器中使用http的生产服务器上的用户转发到https。我尝试了许多解决此问题的方法,包括

security:
  require-ssl: true

在application-prod.yml

http.requiresChannel().anyRequest().requiresSecure()
and.portMapper().http(80).mapsTo(443)

在SecurityConfiguration中

underTowContainer.addBuilderCustomizers(builder -> builder.addHttpListener(80, hostAddress));
        underTowContainer.addDeploymentInfoCustomizers(deploymentInfo -> {
            deploymentInfo.addSecurityConstraint(new SecurityConstraint()
                .addWebResourceCollection(new WebResourceCollection().addUrlPattern("/*"))
                .setTransportGuaranteeType(TransportGuaranteeType.CONFIDENTIAL)
                .setEmptyRoleSemantic(SecurityInfo.EmptyRoleSemantic.PERMIT))
                .setConfidentialPortManager(exchange -> 443);
        });

在WebConfigurer中

但是,到目前为止,还没有方法起作用。有什么想法可以尝试吗?

2 个答案:

答案 0 :(得分:0)

您是否使用了诸如nginx之类的代理或诸如负载均衡器之类的代理? 我建议使用它进行https转发。

答案 1 :(得分:0)

下面的 WebFlux 代码对我有用。

Given url "http://myURL"
And param time = time
When method DELETE
Then status  200

参考:https://www.jhipster.tech/security/