This is an automated email from the ASF dual-hosted git repository. bonampak pushed a commit to branch feature/jakarta-jetty-upgrade in repository https://gitbox.apache.org/repos/asf/knox.git
commit 4ec3972635360a04769cf5850b75aef1e430ba80 Author: bonampak <[email protected]> AuthorDate: Tue Apr 21 19:19:38 2026 +0200 KNOX-3238: refactor createConnector --- .../src/main/java/org/apache/knox/gateway/GatewayServer.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/gateway-server/src/main/java/org/apache/knox/gateway/GatewayServer.java b/gateway-server/src/main/java/org/apache/knox/gateway/GatewayServer.java index acd0dbcbf..1f0d1e973 100644 --- a/gateway-server/src/main/java/org/apache/knox/gateway/GatewayServer.java +++ b/gateway-server/src/main/java/org/apache/knox/gateway/GatewayServer.java @@ -69,6 +69,7 @@ import org.eclipse.jetty.server.Request; import org.eclipse.jetty.server.SecureRequestCustomizer; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector; +import org.eclipse.jetty.server.SslConnectionFactory; import org.eclipse.jetty.server.handler.ContextHandler; import org.eclipse.jetty.server.handler.ContextHandlerCollection; import org.eclipse.jetty.server.handler.ErrorHandler; @@ -499,9 +500,16 @@ public class GatewayServer { httpsConfig.setSecurePort( connectorPort ); httpsConfig.addCustomizer( new SecureRequestCustomizer() ); SSLService ssl = services.getService(ServiceType.SSL_SERVICE); - SslContextFactory sslContextFactory = (SslContextFactory)ssl.buildSslContextFactory( config ); + // In Jetty 12 the ServerConnector(Server, SslContextFactory, ConnectionFactory) + // convenience constructor was removed. Build an SslConnectionFactory explicitly + // and prepend it to the HttpConnectionFactory so that the SSL layer wraps HTTP/1.1. + SslContextFactory.Server sslContextFactory = + (SslContextFactory.Server) ssl.buildSslContextFactory( config ); ssl.excludeTopologyFromClientAuth(sslContextFactory, config, topologyName); - connector = new ServerConnector( server, sslContextFactory, new HttpConnectionFactory( httpsConfig ) ); + HttpConnectionFactory httpConnectionFactory = new HttpConnectionFactory( httpsConfig ); + SslConnectionFactory sslConnectionFactory = + new SslConnectionFactory( sslContextFactory, httpConnectionFactory.getProtocol() ); + connector = new ServerConnector( server, sslConnectionFactory, httpConnectionFactory ); } else { connector = new ServerConnector(server, new HttpConnectionFactory(httpConfig)); }
