Swisscom Application Cloud更新后的Spring Boot HTTPS重定向循环

时间:2018-02-23 09:43:51

标签: spring-boot spring-security swisscomdev

我们正在使用Swisscom Application Cloud来运行我们的Spring Boot应用程序。在他们"迁移到多云环境之后#34;在2018-02-22(Swisscom Status Page),我们的申请完全没有提供任何请求。

发现问题是HTTP到HTTPS的自动重定向。我们在我们的应用程序的SecurityConfiguration中这样做:

@Configuration
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {

    // [...]

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        // [...]
        if (env.acceptsProfiles(SPRING_PROFILE_PRODUCTION)) {
            http.requiresChannel().anyRequest().requiresSecure();
        }
    }
}

如何将Spring Boot配置为仅允许HTTPS连接,同时不使用Swisscom Application Cloud进入重定向循环?

1 个答案:

答案 0 :(得分:4)

作为迁移到多云的一部分,使用的IP范围发生了重大变化。

由于这个原因,tomcat buildpack存在重定向问题,因为这些IP不受信任。我们在最新版本的系统buildpack中修复了这个问题。

请重新申请,以便应用这些更改。更多信息可以在我们的文档中找到:https://docs.developer.swisscom.com/devguide-sc/buildpacks/java/caveats.html

<强>更新

不幸的是,如果您使用嵌入式Tomcat进行Spring启动,我们的buildpack无法为您执行此配置。您必须在应用配置中配置内部代理白名单。请参阅上述文档中的说明。

11月28日更新: 我们已经在我们的buildpacks中更新了CF现在与Envoy一起使用的新范围的配置。如果您使用自己的buildpack,请更新范围。

如下所述: https://docs.spring.io/spring-boot/docs/current/reference/html/howto-embedded-servlet-containers.html#howto-customize-tomcat-behind-a-proxy-server

我们会立即更新文档。