В Kafka SSL по умолчанию отключен. Для включения нужно создать keystore и trueststore и внести некоторые правки в конфигурацию server.properties.
Указываем имена хостов как они прописаны в сертификатах в поле CN
controller.quorum.voters=1@kafka1.domain.ru:9093,2@kafka2.domain.ru:9093
Далее, меняем имена listener
listeners=SSL://kafka1.domain.ru:9092,CONTROLLER://kafka1.domain.ru:9093 inter.broker.listener.name=SSL
Необходимо указать адрес этого узла
advertised.listeners=SSL://kafka1.domain.ru:9092 controller.listener.names=CONTROLLER
После, меняем мапинг имен
listener.security.protocol.map=CONTROLLER:SSL,SSL:SSL
Необходимо указать параметры ssl. Данные параметры обеспечивают аутентификацию клиента по протоколу SSL/TLS.
ssl.keystore.location=/opt/kafka/certs/kafka.keystore.jks ssl.keystore.password=password ssl.truststore.location=/opt/kafka/certs/kafka.truststore.jks ssl.truststore.password=password ssl.key.password=password
Клиенты, подключающиеся к Kafka brokers, должны предоставить действительный сертификат клиента для аутентификации.
ssl.client.auth=required
Настройки WNAM 2
В application.yaml добавить настройки, указываем расположение truststore и keystore и пароли к ним.
spring: kafka: bootstrap-servers: kafka1.domain.ru:9092,kafka2.domain.ru:9092 security: protocol: SSL ssl: protocol: SSL trust-store-location: "file:///opt/kafka/certs/kafka.truststore.jks" truststore-password: password key-store-location: "file:///opt/kafka/certs/client.keystore.jks" key-store-password: password