SSL routines:ssl3_get_record:decryption failed or bad record mac



  • Написал многопоточный скрипт, который постоянно (круглые сутки) делает API запросы на сервер в несколько потоков (через действие Node.js). API запросы как получают так и передают данные (запросы POST, GET, DELETE). Последний раз я получил эту ошибку на GET запросе с параметрами (т.е. запрос отправляет параметры, которые он хочет получить от сервера). И время от времени (примерно раз в несколько дней или даже недель) я получаю ошибку:
    Error: 7488:error:1408F119:SSL routines:ssl3_get_record:decryption failed or bad record mac:c:\ws\deps\openssl\openssl\ssl\record\ssl3_record.c:677:

    После этой ошибки в конкретном потоке все действия Node.js (которые кстати находятся внутри бесконечного цикла While), через которые выполняется API запросы, перестают работать. При этом в лог в дальнейшем после этой ошибки не выводится каких-либо ошибок (в переменную LAST ERROR) о неудачных API запросах (а должны, цикл то бесконечный). Цикл While, внутри которого находятся все действия с API запросами, обернут в блок "игнорировать ошибки", но в переменную LAST ERROR не выводятся ошибки. Но факт в том, что API запросы перестают работать, после указанной выше ошибки.
    После перезапуска скрипта он начинает работать нормально, пока ошибка не появится вновь. При работе в один поток я таких ошибок не получал (хотя и вероятность в этом случае в разы меньше).
    Скрипт приводить здесь не буду по 2 причинам:

    1. Ошибка появляется достаточно редко, долго ждать придется.
    2. Скрипт имеет привязку к аккаунту и сам по себе представляет ценность.

    В чем может быть проблема? Есть способ обойти этот баг, чтобы сохранить работоспособность API запросов без перезапуска скрипта?
    Версия бас: 23.2.2
    ОС: Windows 7


Log in to reply