Я работаю над проблемой, когда исключение возникает только в нашей производственной среде. У меня нет доступа к этим средам, и я не знаю, что означает это исключение. Глядя на описание ошибки, я не могу понять причину.
javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
Кто-нибудь, пожалуйста, посоветуйте мне, как решить эту проблему?
exceptions
C4CodeE4Exe
источник
источник
Ответы:
В общем, лучше отладка логов. Выясните, что вы хотите знать, добавьте это в код и внесите это в журналы, чтобы вы могли разобраться. Получение более подробной информации об окружающей среде в то же время помогает - какой запрос, когда и т. Д.
В частности, я хотел бы найти общий шаблон для клиентов, который использует этот метод - и если вы нашли такой вариант, - оптимизировать, - но затем пойти и захватить трафик уровня TCP.
Изучение обмена сообщениями SSL должно дать вам некоторое представление о том, что не так в протоколе, или, по крайней мере, каковы общие свойства запроса. Если у вас есть это, оно должно быть ближе к отладке.
Как руководство, я бы предположил, что это происходит от одной из трех вещей:
источник
Я бы рекомендовал использовать стратегию ведения журнала с настраиваемым максимальным уровнем ведения журнала. Утилита, подобная log4j ( http://logging.apache.org/log4j/ , http://en.wikipedia.org/wiki/Log4j ) может выполнить эту работу.
Настраиваемый уровень ведения журнала (или многословие) важен для определения причины ошибки, возможно, без необходимости повторного развертывания программного обеспечения.
Если такой стратегии недостаточно, чтобы найти ошибку, попробуйте найти, как создать / прочитать журналы, создаваемые приложениями, с которыми общается ваше приложение.
Вы также можете внедрить некоторый механизм для автоматического получения дополнительной информации об ошибках по электронной почте.
В более общем плане вы можете прочитать некоторые статьи об инструментах, которые являются более обширной темой, которая включает ведение журнала и трассировку.
источник