Як я можу налагоджувати винятки, які не легко відтворюються і трапляються лише у виробничому середовищі?


9

Я працюю над питанням, коли виняток трапляється лише в нашому виробничому середовищі. У мене немає доступу до цих середовищ, і я не знаю, що означає це виключення. Переглядаючи опис помилки, я не можу зрозуміти причину.

javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure

Хтось, будь ласка, порадить мені, як підійти до подібної проблеми?


4
чи слід це перенести на StackOverflow? Я думаю, ви отримаєте більше відповіді там.
DXM

10
Одне слово: лісозаготівля.
Quant_dev

1
@DXM - це буде поза темою для переповнення стека, оскільки це занадто загально. ОП - це скоріше стратегії та методи, а не конкретні рішення. Якщо код, який вийшов з ладу, був включений, можливо, він може працювати над переповненням стека.
ChrisF

На мій досвід, більшість подібних проблем виникають із проблем конфігурації безпеки, і їх важко розібрати. Як вже згадували інші, хороша реєстрація дерев допоможе розкрити її.
jfrankcarr

Відповіді:


18

Взагалі, краще налагодження журналу. З'ясуйте, що ви хочете знати, додайте його до коду та майте це в журналах, щоб ви могли це розробити. Захоплення більшою кількістю деталей навколишнього середовища також допомагає - який запит, коли тощо.

Зокрема, я хотів би шукати загальну схему у клієнтів, які впливають на це - і якщо ви знайшли оптимізацію - але потім перейдіть і зафіксуйте трафік шару TCP.

Перегляд обмінних повідомлень SSL повинен дати вам деяке уявлення про те, що відбувається в протоколі або хоча б які загальні властивості запиту. Після того, як ви це зробите, це має бути ближче до налагодження.

Як керівництво, я б здогадався, що це походить з однієї з трьох речей:

  1. Щось, що не SSL, розмовляло з портом SSL. (сканування портів поширене, але HTTP на порт HTTPS також трапляється.)
  2. Клієнт не поділяє прийнятний набір шифрів із сервером.
  3. Клієнт пропонує сертифікат, а сервер має шипучу форму. (Нечасто, але можливо.)

1
можливо, сервер пропонує сертифікат, який підписав власний підпис, або підписаний ЦА, який клієнт не знає / довіряє
Carlos Campderrós

Я думаю, я бачив, що №3 трапляється, коли у однієї із сторін термін дії сертифікату закінчився.
FrustratedWithFormsDesigner

Я зробив досить багато налагоджень у виробничих системах. Ніколи я фактично не використовував налагоджувач, він завжди або здійснював реєстрацію або запис ключових значень у певну частину екрана.
Лорен Печтел

дякую всім за пораду. Я впевнений, що існують прагматичні способи вирішити помилку виробництва.
C4CodeE4Exe

4

Я рекомендую використовувати стратегію ведення журналів із максимально налаштованим рівнем журналу. Утиліта на зразок log4j ( http://logging.apache.org/log4j/ , http://en.wikipedia.org/wiki/Log4j ) може виконати цю роботу.

Налаштований рівень журналу (або багатослів’я) важливий, щоб можна було знайти причину помилки, можливо, без необхідності повторного розгортання програмного забезпечення.

Якщо такої стратегії недостатньо для пошуку помилки, спробуйте знайти, як створювати / читати журнали, створені програмами, з якими спілкується ваш.

Ви також можете застосувати якийсь механізм, щоб автоматично отримувати більше інформації про помилки електронною поштою.

Більш загально, ви можете прочитати деякі статті про приладобудування, що є більшою темою, яка включає в себе ведення журналів та трасування.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.