diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/web/WebService.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/web/WebService.java index 21c99f8196fec..9ef193ff9f131 100644 --- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/web/WebService.java +++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/web/WebService.java @@ -25,6 +25,7 @@ import java.util.List; import java.util.Map; import java.util.Optional; +import java.util.Set; import java.util.concurrent.ExecutionException; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; @@ -171,7 +172,8 @@ public WebService(PulsarService pulsar) throws PulsarServerException { SslContextFactory.Server sslCtxFactory = JettySslContextFactory.createSslContextFactory(config.getWebServiceTlsProvider(), this.sslFactory, config.isTlsRequireTrustedClientCertOnConnect(), - config.getTlsCiphers(), config.getTlsProtocols()); + firstNonEmpty(config.getWebServiceTlsCiphers(), config.getTlsCiphers()), + firstNonEmpty(config.getWebServiceTlsProtocols(), config.getTlsProtocols())); List connectionFactories = new ArrayList<>(); if (config.isWebServiceHaProxyProtocolEnabled()) { connectionFactories.add(new ProxyConnectionFactory()); @@ -532,5 +534,9 @@ protected void refreshSslContext() { } } + private static Set firstNonEmpty(Set preferred, Set fallback) { + return preferred != null && !preferred.isEmpty() ? preferred : fallback; + } + private static final Logger log = LoggerFactory.getLogger(WebService.class); } diff --git a/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/ProxyConnection.java b/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/ProxyConnection.java index cfe788e522967..9271319fe136c 100644 --- a/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/ProxyConnection.java +++ b/pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/ProxyConnection.java @@ -797,6 +797,8 @@ ClientConfigurationData createClientConfiguration() { clientConf.setTlsCertificateFilePath(proxyConfig.getBrokerClientCertificateFilePath()); } clientConf.setTlsAllowInsecureConnection(proxyConfig.isTlsAllowInsecureConnection()); + clientConf.setTlsCiphers(proxyConfig.getBrokerClientTlsCiphers()); + clientConf.setTlsProtocols(proxyConfig.getBrokerClientTlsProtocols()); } return clientConf; }