一般的なSSL/TLS例外
症状:
- ログにSSL/TLSに関連するいくつかの例外が表示されることがあります。一般的な例外のいくつかは、これらの問題を解決するためのヒントとともに以下に示されています。
解決策:
WARN: received plaintext http traffic on a https channel, closing connection
- 受信した平文のhttpリクエストがあったことを示します。これは通常、外部アプリケーションがRESTインターフェースに対して暗号化されていない呼び出しを試みるときに発生します。すべてのアプリケーションがSSLを有効にしてRESTインターフェースを呼び出す際に
https
を使用していることを確認してください。 org.elasticsearch.common.netty.handler.ssl.NotSslRecordException: not an SSL/TLS record:
- SSL接続で受信した平文のトラフィックがあったことを示します。これは通常、ノードが暗号化通信を使用するように構成されておらず、暗号化通信を使用しているノードに接続しようとする場合に発生します。すべてのノードが
xpack.security.transport.ssl.enabled
の同じ設定を使用していることを確認してください。
この設定に関する詳細は、セキュリティ設定を参照してください。 java.io.StreamCorruptedException: invalid internal transport message format, got
- 不明な形式で受信したデータに関する問題を示します。これは、暗号化通信が有効なノードが暗号化通信が無効なノードに接続する場合に発生する可能性があります。すべてのノードが
xpack.security.transport.ssl.enabled
の同じ設定を使用していることを確認してください。
この設定に関する詳細は、セキュリティ設定を参照してください。 java.lang.IllegalArgumentException: empty text
- この例外は通常、
https
リクエストがhttps
を使用していないノードに対して行われたときに見られます。https
が必要な場合は、次の設定がelasticsearch.yml
にあることを確認してください:
Yaml
xpack.security.http.ssl.enabled: true
この設定に関する詳細は、セキュリティ設定を参照してください。
ERROR: unsupported ciphers [...] were requested but cannot be used in this JVM
- このエラーは、Elasticsearchが実行されているJVMによってサポートされていないSSL/TLS暗号スイートが指定されたときに発生します。セキュリティは、このJVMによってサポートされている指定された暗号スイートを使用しようとします。このエラーは、OpenJDKの一部のディストリビューションがデフォルトでPKCS11プロバイダーを有効にしないため、セキュリティのデフォルトを使用しているときに発生する可能性があります。この場合、PKCS11プロバイダーを有効にする方法については、JVMのドキュメントを参照することをお勧めします。
このエラーのもう一つの一般的な原因は、Oracle JDKで実行しているときに128ビットを超える鍵長で暗号化を使用する暗号スイートを要求することです。この場合、JCE無制限強度管轄ポリシーファイルをインストールする必要があります。