diff --git a/artemis-web/src/main/java/org/apache/activemq/artemis/component/WebServerComponent.java b/artemis-web/src/main/java/org/apache/activemq/artemis/component/WebServerComponent.java index 988bb535f59..0a2b2316797 100644 --- a/artemis-web/src/main/java/org/apache/activemq/artemis/component/WebServerComponent.java +++ b/artemis-web/src/main/java/org/apache/activemq/artemis/component/WebServerComponent.java @@ -31,6 +31,7 @@ import org.apache.activemq.artemis.dto.WebServerDTO; import org.apache.activemq.artemis.utils.FileUtil; import org.apache.activemq.artemis.utils.TimeUtils; +import org.eclipse.jetty.server.ConnectionFactory; import org.eclipse.jetty.server.Connector; import org.eclipse.jetty.server.HttpConfiguration; import org.eclipse.jetty.server.HttpConnectionFactory; @@ -81,12 +82,16 @@ public void configure(ComponentDTO config, String artemisInstance, String artemi HttpConfiguration https = new HttpConfiguration(); https.addCustomizer(new SecureRequestCustomizer()); + https.setSendServerVersion(false); HttpConnectionFactory httpFactory = new HttpConnectionFactory(https); connector = new ServerConnector(server, sslConnectionFactory, httpFactory); } else { - connector = new ServerConnector(server); + HttpConfiguration configuration = new HttpConfiguration(); + configuration.setSendServerVersion(false); + ConnectionFactory connectionFactory = new HttpConnectionFactory(configuration); + connector = new ServerConnector(server, connectionFactory); } connector.setPort(uri.getPort()); connector.setHost(uri.getHost()); diff --git a/artemis-web/src/test/java/org/apache/activemq/cli/test/WebServerComponentTest.java b/artemis-web/src/test/java/org/apache/activemq/cli/test/WebServerComponentTest.java index 11781473af5..1f1a946ea5d 100644 --- a/artemis-web/src/test/java/org/apache/activemq/cli/test/WebServerComponentTest.java +++ b/artemis-web/src/test/java/org/apache/activemq/cli/test/WebServerComponentTest.java @@ -41,6 +41,7 @@ import io.netty.handler.codec.http.HttpMethod; import io.netty.handler.codec.http.HttpObject; import io.netty.handler.codec.http.HttpRequest; +import io.netty.handler.codec.http.HttpResponse; import io.netty.handler.codec.http.HttpVersion; import io.netty.handler.ssl.SslHandler; import io.netty.util.CharsetUtil; @@ -110,6 +111,7 @@ protected void initChannel(Channel ch) throws Exception { ch.writeAndFlush(request); assertTrue(latch.await(5, TimeUnit.SECONDS)); assertEquals(clientHandler.body, "12345"); + assertNull(clientHandler.serverHeader); // Wait for the server to close the connection. ch.close(); Assert.assertTrue(webServerComponent.isStarted()); @@ -205,6 +207,7 @@ protected void initChannel(Channel ch) throws Exception { ch.writeAndFlush(request); assertTrue(latch.await(5, TimeUnit.SECONDS)); assertEquals(clientHandler.body, "12345"); + assertNull(clientHandler.serverHeader); // Wait for the server to close the connection. ch.close(); Assert.assertTrue(webServerComponent.isStarted()); @@ -309,6 +312,7 @@ class ClientHandler extends SimpleChannelInboundHandler { private CountDownLatch latch; private String body; + private String serverHeader; ClientHandler(CountDownLatch latch) { this.latch = latch; @@ -316,7 +320,10 @@ class ClientHandler extends SimpleChannelInboundHandler { @Override public void channelRead0(ChannelHandlerContext ctx, HttpObject msg) { - if (msg instanceof HttpContent) { + if (msg instanceof HttpResponse) { + HttpResponse response = (HttpResponse) msg; + serverHeader = response.headers().get("Server"); + } else if (msg instanceof HttpContent) { HttpContent content = (HttpContent) msg; body = content.content().toString(CharsetUtil.UTF_8); latch.countDown();