I am trying to connect to a Kafka cluster that requires all traffic to be secured with TLS certificates. I have a P12 certificate (in binary format) and MassTransit is configured as follows:
busConfig.AddRider(rider =>
{
rider.AddConsumer<MessagesConsumer>();
rider.AddProducer<MessageType>("topic_name");
rider.UsingKafka((riderContext, kafkaConfig) =>
{
kafkaConfig.Host("kafkahostname:9333", h =>
{
h.UseSsl(s =>
{
s.KeystoreLocation = "/somewhere/on/the/filesystem/certificate.p12";
s.KeystorePassword = "verysecure";
});
});
kafkaConfig.TopicEndpoint<MessageType>("topic_name", "topic_group", endpointConfig =>
{
endpointConfig.ConfigureConsumer<MessagesConsumer>(riderContext);
});
});
});
At startup, however, the ASP.NET Core / Blazor application throws the following exception:
[12:35:02 WRN] Consumer [] error (Local_Transport): kafkahostname:9333/bootstrap: Connection setup timed out in state CONNECT (after 30197ms in state CONNECT) on topic_name. IsFatal(False)
[12:35:03 INF] Retrying 00:00:06.0480000: ReceiveTransport faulted: topic_name
MassTransit.KafkaConnectionException: ReceiveTransport faulted: topic_name
---> Confluent.Kafka.KafkaException: kafkahostname:9333/bootstrap: Connection setup timed out in state CONNECT (after 30197ms in state CONNECT)
at MassTransit.KafkaIntegration.Middleware.KafkaConsumerFilter`2.Send(ConsumerContext context, IPipe`1 next) in /_/src/Transports/MassTransit.KafkaIntegration/KafkaIntegration/Middleware/KafkaConsumerFilter.cs:line 31
at MassTransit.Middleware.ReceiveEndpointDependencyFilter`1.Send(TContext context, IPipe`1 next) in /_/src/MassTransit/Middleware/ReceiveEndpointDependencyFilter.cs:line 23
at MassTransit.Agents.PipeContextSupervisor`1.Send(IPipe`1 pipe, CancellationToken cancellationToken) in /_/src/MassTransit/Agents/PipeContextSupervisor.cs:line 55
at MassTransit.Agents.PipeContextSupervisor`1.Send(IPipe`1 pipe, CancellationToken cancellationToken) in /_/src/MassTransit/Agents/PipeContextSupervisor.cs:line 61
at MassTransit.Agents.PipeContextSupervisor`1.Send(IPipe`1 pipe, CancellationToken cancellationToken) in /_/src/MassTransit/Agents/PipeContextSupervisor.cs:line 67
at MassTransit.Transports.ReceiveTransport`1.ReceiveTransportAgent.RunTransport() in /_/src/MassTransit/Transports/ReceiveTransport.cs:line 205
--- End of inner exception stack trace ---
at MassTransit.Transports.ReceiveTransport`1.ReceiveTransportAgent.RunTransport() in /_/src/MassTransit/Transports/ReceiveTransport.cs:line 218
at MassTransit.Transports.ReceiveTransport`1.ReceiveTransportAgent.Run() in /_/src/MassTransit/Transports/ReceiveTransport.cs:line 145