From 9579e95868dacb834bb7784626cb8791c7e07722 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Wed, 7 Jun 2017 13:57:59 +0100 Subject: [PATCH] Handle explicit disablement of management SSL correctly Closes gh-9423 --- .../EndpointWebMvcAutoConfiguration.java | 2 +- .../EndpointWebMvcAutoConfigurationTests.java | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/EndpointWebMvcAutoConfiguration.java b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/EndpointWebMvcAutoConfiguration.java index f63c34a85e..90e63335b6 100644 --- a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/EndpointWebMvcAutoConfiguration.java +++ b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/EndpointWebMvcAutoConfiguration.java @@ -163,7 +163,7 @@ public class EndpointWebMvcAutoConfiguration } if (managementPort == ManagementServerPort.SAME) { if (new RelaxedPropertyResolver(this.applicationContext.getEnvironment(), - "management.ssl.").getProperty("enabled") != null) { + "management.ssl.").getProperty("enabled", Boolean.class, false)) { throw new IllegalStateException( "Management-specific SSL cannot be configured as the management " + "server is not listening on a separate port"); diff --git a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/EndpointWebMvcAutoConfigurationTests.java b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/EndpointWebMvcAutoConfigurationTests.java index 39e09ca7b1..c57733ea75 100755 --- a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/EndpointWebMvcAutoConfigurationTests.java +++ b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/EndpointWebMvcAutoConfigurationTests.java @@ -558,6 +558,17 @@ public class EndpointWebMvcAutoConfigurationTests { this.applicationContext.refresh(); } + @Test + public void samePortCanBeUsedWhenManagementSslIsExplicitlyDisabled() + throws Exception { + EnvironmentTestUtils.addEnvironment(this.applicationContext, + "management.ssl.enabled=false"); + this.applicationContext.register(RootConfig.class, EndpointConfig.class, + BaseConfiguration.class, EndpointWebMvcAutoConfiguration.class, + ErrorMvcAutoConfiguration.class, ServerPortConfig.class); + this.applicationContext.refresh(); + } + @Test public void managementServerCanDisableSslWhenUsingADifferentPort() throws Exception { EnvironmentTestUtils.addEnvironment(this.applicationContext,