Я пытаюсь настроить кластер 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