Derzeit läuft ein Problem, bei dem meine Hintergrundarbeiter, die über elasticsearch-client mit elasticsearch kommunizieren, innerhalb von Faraday auf SSL-Fehler stoßen.Faraday :: SSLError für Elasticsearch
Der Fehler ist dies:
SSL_connect returned=1 errno=0 state=SSLv3 read server hello A: sslv3 alert handshake failure
Die Konfiguration arbeitet einen Teil der Zeit in Ordnung (um ~ 50%), und es hat nie für mich in einer Konsolensitzung fehlgeschlagen.
Die Spur des Befehls ist dies: curl -X GET 'https://<host>/_alias/models_write?pretty
Der Client Config ist dies
Thread.current[:chewy_client] ||= begin
client_configuration[:reload_on_failure] = true
client_configuration[:reload_connections] = 30
client_configuration[:sniffer_timeout] = 0.5
client_configuration[:transport_options] ||= {}
client_configuration[:transport_options][:ssl] = { :version => :TLSv1_2 }
client_configuration[:transport_options][:headers] = { content_type: 'application/json' }
client_configuration[:trace] = true
client_configuration[:logger] = Rails.logger
::Elasticsearch::Client.new(client_configuration) do |f|
f.request :aws_signers_v4,
credentials: AWS::Core::CredentialProviders::DefaultProvider.new,
service_name: 'es',
region: ENV['ES_REGION'] || 'us-west-2'
end
end
Wie Sie mich ausdrücklich die ssl Version TSLv1_2 gesetzt zu sehen, aber immer noch einen SSLv3 Fehler.
Dachte vielleicht war es ein Race Condition Problem. So lief ein Skript, das ungefähr 10 Prozesse mit jeweils 50 Threads hervorbrachte und die Methode sidekiq perform anrief und immer noch nicht in der Lage war zu reproduzieren.
Ich verwende die verwaltete AWS 2.3 Elasticsearch, wenn das überhaupt relevant ist.
Jede Hilfe oder Anleitung in die richtige Richtung würde sehr geschätzt werden, würde ich glücklich sein, so viele Informationen wie nötig anhängen.