現在、elasticsearch-client経由でelasticsearchと通信しているバックグラウンドワーカーがファラデー内でSSLエラーに遭遇している問題が発生しています。Faraday :: SSLError for Elasticsearch
エラーはこれです:
SSL_connect returned=1 errno=0 state=SSLv3 read server hello A: sslv3 alert handshake failure
設定が細かい(〜50%程度)の時間の一部を動作し、それがコンソールセッションの内側に私のために失敗したことがありません。
コマンドのトレースがこれです:あなたは、私が明示的にTSLv1_2へのSSLバージョンを設定し、まだのSSLv3エラーを取得して見ることができるように curl -X GET 'https://<host>/_alias/models_write?pretty
クライアントの設定は、この
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
です。
競合状態の問題かもしれません。そこで、それぞれ50個のスレッドで約10個のプロセスを生成し、sidekiqメソッドを内部で実行しても、再現できないようにするスクリプトを実行しました。
すべての関連性がある場合は、管理対象のAWS 2.3 Elasticsearchを使用しています。
正しい方向への助けや指導をいただければ幸いです。私は必要に応じて多くの情報を添付することができます。