Проблема с конфигурациями listener.name. {ListenerName} .ssl в Kafka - PullRequest
0 голосов
/ 10 июля 2020

Я пытаюсь настроить кластер Kafka, который поддерживает несколько хранилищ ключей ssl и хранилищ доверенных сертификатов в зависимости от прослушивателя.

Я установил прослушиватель под названием «LOCALFWD» и настроил его так, чтобы он указывал на хранилище доверенных сертификатов , keystore, et c.

Однако по какой-то причине каждый раз, когда я пытаюсь подключиться к нему, я получаю недопустимые рукопожатия и обычное исключение «ERROR [Logging] javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?». Обратите внимание, что это происходит как с проверкой имени хоста, так и без нее.

Если я по умолчанию использую одну конфигурацию SSL для всех слушателей, она работает отлично.

Я пробовал для статического размещения конфигураций в файле server.properties или их динамического изменения с помощью kafka-configs, ни один из вариантов не работает.

Не уверен, что мне здесь не хватает?

Несколько Конфигурация слушателя в server.properties:

listeners=PLAINTEXT://:9092,\
LOCALFWD://:9099,\

advertised.listeners=PLAINTEXT://:9092,\
LOCALFWD://localhost:30090,\

listener.security.protocol.map=PLAINTEXT:PLAINTEXT,\
LOCALFWD:SSL

listener.name.LOCALFWD.ssl.truststore.location=/etc/kafka/tls-local/kafka.truststore
listener.name.LOCALFWD.ssl.keystore.location=/etc/kafka/tls-local/kafka.keystore
listener.name.LOCALFWD.ssl.keystore.password=kafka
listener.name.LOCALFWD.ssl.truststore.password=kafka
listener.name.LOCALFWD.ssl.keystore.type=JKS
listener.name.LOCALFWD.ssl.key.password=kafka
listener.name.LOCALFWD.ssl.truststore.type=JKS
listener.name.LOCALFWD.ssl.client.auth=required

1 Ответ

0 голосов
/ 13 июля 2020

У меня все заработало.

Использование строчных букв в свойствах слушателя помогло:

listener.name.localfwd.ssl вместо listener.name.LOCALFWD.ssl

Слушатель, объявленный слушатель и остается сопоставление безопасности слушателя UPPERCASE://

...