例外が本番環境でのみ発生する問題に取り組んでいます。私はこれらの環境にアクセスできず、この例外の意味もわかりません。エラーの説明を見て、原因がわかりません。
javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
誰かがこの種の問題に取り組む方法について私に助言してくれませんか?
例外が本番環境でのみ発生する問題に取り組んでいます。私はこれらの環境にアクセスできず、この例外の意味もわかりません。エラーの説明を見て、原因がわかりません。
javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
誰かがこの種の問題に取り組む方法について私に助言してくれませんか?
回答:
一般に、デバッグロギングの改善。知りたいことを理解し、それをコードに追加して、それをログに入れて、問題を解決できるようにします。当時の環境の詳細をキャプチャすることも役立ちます-どのような要求、いつなど。
具体的には、これを実行するクライアントの一般的なパターンを探します。最適化を見つけた場合は、TCPレイヤーのトラフィックをキャプチャします。
交換されたSSLメッセージを見ると、プロトコルの何が問題になっているのか、少なくとも要求の一般的なプロパティが何かがわかるはずです。それが得られたら、デバッグに近づくはずです。
ガイドとして、これは次の3つのうちの1つに由来すると思います。
構成可能な最大ログレベルでログ戦略を使用することをお勧めします。(log4jのようなユーティリティhttp://logging.apache.org/log4j/、http://en.wikipedia.org/wiki/Log4j)は、仕事をするかもしれません。
おそらくソフトウェアを再展開しなくても、エラーの原因を特定できるようにするには、構成可能なログレベル(または詳細度)が重要です。
エラーを見つけるのにこのような戦略では不十分な場合は、通信しているアプリケーションが生成したログを生成/読み取る方法を見つけてください。
エラーに関する詳細情報を電子メールで自動的に取得するメカニズムを実装することもできます。
より一般的には、計測に関するいくつかの記事を読むことができます。これは、ロギングとトレースを含むより大きなトピックです。