ошибка ssl-соединения karafka и Apache kafka

Я пытался подключиться karafka приложение к heroku kafka addon, но я получаю следующую ошибку:

I, [2019-12-20T17:12:03.425476 #29399] ИНФОРМАЦИЯ -: Получение метаданных кластера с kafka+ssl://ec2-xxxx.compute-1.amazonaws.com:9096 Traceback (последний вызов последний): 16: из /home/farhan/.rvm/gems/ruby-2.6.5/gems/ruby-kafka-0.7.10/lib/kafka/cluster.rb:52:in 'add_target_topics' 15: из /home/farhan/.rvm/gems/ruby-2.6.5/gems/ruby-kafka-0.7.10/lib/kafka/cluster.rb:98:in 'refresh_metadata!' 14: из /home/farhan/.rvm/gems/ruby-2.6.5/gems/ruby-kafka-0.7.10/lib/kafka/cluster.rb:350:in 'cluster_info' 13: из /home/farhan/.rvm/gems/ruby-2.6.5/gems/ruby-kafka-0.7.10/lib/kafka/cluster.rb:370:in 'fetch_cluster_info' 12: из /home/farhan/.rvm/gems/ruby-2.6.5 / gems / ruby-kafka-0.7.10 / lib / kafka / cluster.rb: 370: в "каждый" 11: из /home/farhan/.rvm/gems/ruby-2.6.5/gems/ruby-kafka-0.7.10/lib/kafka/cluster.rb:375:in 'block in fetch_cluster_info' 10: из /home/farhan/.rvm/gems/ruby-2.6.5/gems/ruby-kafka-0.7.10/lib/kafka/broker.rb:44: в 'fetch_metadata' 9: из /home/farhan/.rvm/gems/ruby-2.6.5/gems/ruby-kafka-0.7.10/lib/kafka/broker.rb:200: в 'send_request' 8: из /home/farhan/.rvm/gems/ruby-2.6.5/gems/ruby-kafka-0.7.10/lib/kafka/connection.rb:97: в 'send_request' 7: из /home/farhan/.rvm/gems/ruby-2.6.5/gems/ruby-kafka-0.7.10/lib/kafka/instrumenter.rb:21:в 'инструменте' 6: из /home/farhan/.rvm/gems/ruby-2.6.5/gems/activesupport-6.0.2/lib/active_support/notifications.rb:182:in 'instrument' 5: из /home/farhan/.rvm/gems/ruby-2.6.5/gems/ruby-kafka-0.7.10/lib/kafka/connection.rb:98:in 'блок в send_request' 4: from /home/farhan/.rvm/gems/ruby-2.6.5/gems/ruby-kafka-0.7.10/lib/kafka/connection.rb:127:in 'open' 3: from /home/farhan/.rvm/gems/ruby-2.6.5/gems/ruby-kafka-0.7.10/lib/kafka/connection.rb:127:in 'new' 2: из /home/farhan/.rvm/gems/ruby-2.6.5/gems/ruby-kafka-0.7.10/lib/kafka/ssl_socket_with_timeout.rb:69:in 'initialize' 1: из /home/farhan/.rvm/gems/ruby-2.6.5 / gems / ruby-kafka-0.7.10 / lib / kafka / ssl_socket_with_timeout.rb:69: в 'connect_nonblock' OpenSSL::SSL::SSLError (SSL_connect возвращено =1 errno=0 состояние = ошибка: проверка сертификата не удалась (не указано) ошибка проверки сертификата))из /home/farhan/.rvm/gems/ruby-2.6.5/gems/ruby-kafka-0.7.10/lib/kafka/connection.rb:127:in 'новый' 2: из / home / farhan /. rvm / gems / ruby-2.6.5 / gems / ruby-kafka-0.7.10 / lib / kafka / ssl_socket_with_timeout.rb:69: in 'initialize' 1: из /home/farhan/.rvm/gems/ruby-2.6.5 / gems / ruby-kafka-0.7.10 / lib / kafka / ssl_socket_with_timeout.rb:69: в 'connect_nonblock' OpenSSL::SSL::SSLError (SSL_connect возвращено =1 errno=0 состояние = ошибка: проверка сертификата не удалась (неуказанная ошибка проверки сертификата))из /home/farhan/.rvm/gems/ruby-2.6.5/gems/ruby-kafka-0.7.10/lib/kafka/connection.rb:127:in 'новый' 2: из / home / farhan /. rvm / gems / ruby-2.6.5 / gems / ruby-kafka-0.7.10 / lib / kafka / ssl_socket_with_timeout.rb:69: in 'initialize' 1: из /home/farhan/.rvm/gems/ruby-2.6.5 / gems / ruby-kafka-0.7.10 / lib / kafka / ssl_socket_with_timeout.rb:69: в 'connect_nonblock' OpenSSL::SSL::SSLError (SSL_connect возвращено =1 errno=0 состояние = ошибка: проверка сертификата не удалась (неуказанная ошибка проверки сертификата))10 / lib / kafka / ssl_socket_with_timeout.rb:69: in 'connect_nonblock' OpenSSL::SSL::SSLError (SSL_connect возвращено =1 errno=0 состояние = ошибка: проверка сертификата завершилась неудачно (неопределенная ошибка проверки сертификата))10 / lib / kafka / ssl_socket_with_timeout.rb:69: in 'connect_nonblock' OpenSSL::SSL::SSLError (SSL_connect возвращено =1 errno=0 состояние = ошибка: проверка сертификата завершилась неудачно (неопределенная ошибка проверки сертификата))

Ниже приведена конфигурация в karafka.rb

setup do |config|
  config.kafka.seed_brokers = ENV['KAFKA_URL'].to_s.split(',').map(&:strip)
  if ENV['KAFKA_TRUSTED_CERT']
    tmp_ca_file = ::Tempfile.new('kafka_ca_certs')
    tmp_ca_file.write(ENV.fetch('KAFKA_TRUSTED_CERT'))
    tmp_ca_file.close
    config.kafka.ssl_ca_cert_file_path = tmp_ca_file.path
  end
  if ENV['KAFKA_CLIENT_CERT'] && ENV['KAFKA_CLIENT_CERT_KEY']
    config.kafka.ssl_client_cert = ENV['KAFKA_CLIENT_CERT']
    config.kafka.ssl_client_cert_key = ENV['KAFKA_CLIENT_CERT_KEY']
  end
  config.client_id = 'async_processor'
end

Что я пробовал

  • OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE

Но тогда я получаю другую ошибку:

ОШИБКА -: не удалось назначить разделы для 1 сообщения в TutorialTopic

Может быть, полезный момент Поскольку это общий кластер, у меня есть конфигурация в имени herokuKAFKA_PREFIX не уверен, что с этим делать, пытался добавить в тему, но тщетно.

Что мне не хватает?

0 ответов

Другие вопросы по тегам