[ https://issues.apache.org/jira/browse/KAFKA-9570?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Randall Hauch resolved KAFKA-9570. ---------------------------------- Fix Version/s: 2.5.1 2.4.2 2.6.0 Reviewer: Randall Hauch Resolution: Fixed Merged to `trunk` and backported to the `2.6`, `2.5` and `2.4` branches. > SSL cannot be configured for Connect in standalone mode > ------------------------------------------------------- > > Key: KAFKA-9570 > URL: https://issues.apache.org/jira/browse/KAFKA-9570 > Project: Kafka > Issue Type: Bug > Components: KafkaConnect > Affects Versions: 2.0.0, 2.0.1, 2.1.0, 2.2.0, 2.1.1, 2.0.2, 2.3.0, 2.1.2, > 2.2.1, 2.2.2, 2.4.0, 2.3.1, 2.2.3, 2.5.0, 2.3.2, 2.4.1 > Reporter: Chris Egerton > Assignee: Chris Egerton > Priority: Major > Fix For: 2.6.0, 2.4.2, 2.5.1 > > > When Connect is brought up in standalone, if the worker config contains _any_ > properties that begin with the {{listeners.https.}} prefix, SSL will not be > enabled on the worker. > This is because the relevant SSL configs are only defined in the [distributed > worker > config|https://github.com/apache/kafka/blob/ebcdcd9fa94efbff80e52b02c85d4a61c09f850b/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/distributed/DistributedConfig.java#L260] > instead of the [superclass worker > config|https://github.com/apache/kafka/blob/ebcdcd9fa94efbff80e52b02c85d4a61c09f850b/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/WorkerConfig.java]. > This, in conjunction with [a call > to|https://github.com/apache/kafka/blob/ebcdcd9fa94efbff80e52b02c85d4a61c09f850b/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/rest/util/SSLUtils.java#L42] > > [AbstractConfig::valuesWithPrefixAllOrNothing|https://github.com/apache/kafka/blob/ebcdcd9fa94efbff80e52b02c85d4a61c09f850b/clients/src/main/java/org/apache/kafka/common/config/AbstractConfig.java], > causes all configs not defined in the {{WorkerConfig}} used by the worker to > be silently dropped when the worker configures its REST server if there is at > least one config present with the {{listeners.https.}} prefix. > Unfortunately, the workaround of specifying all SSL configs without the > {{listeners.https.}} prefix will also fail if any passwords need to be > specified. This is because the password values in the {{Map}} returned from > {{AbstractConfig::valuesWithPrefixAllOrNothing}} aren't parsed as passwords, > but the [framework expects them to > be|https://github.com/apache/kafka/blob/ebcdcd9fa94efbff80e52b02c85d4a61c09f850b/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/rest/util/SSLUtils.java#L87]. > However, if no keystore, truststore, or key passwords need to be configured, > then it should be possible to work around the issue by specifying all of > those configurations without a prefix (as long as they don't conflict with > any other configs in that namespace). -- This message was sent by Atlassian Jira (v8.3.4#803005)