Приложение «узел / электрон» развертывается на компьютере конечного пользователя. Он пытается сделать HTTPS-запрос к серверу. В зависимости от настроек сети пользователя, это может работать нормально, или узел может выдать ошибку "Unable to Get Local Issuer Certificate"
. Насколько я понимаю, это происходит, когда клиент находится за прокси-сервером с перехватом SSL или чем-то подобным.
Я знаю, что ТАК и github полны таких вопросов. Но единственное общее «решение», которое я смог найти, это полностью взломать SSL либо на уровне процесса:
process.env["NODE_TLS_REJECT_UNAUTHORIZED"] = 0
или на уровне запроса:
rejectUnauthorized: "false"
Также есть возможность указать правильный сертификат при выполнении HTTP-запроса. Но, похоже, для каждого пользователя почти требуется индивидуальная настройка, и я не нашел примеров того, как сделать это в общем виде.
1. Почему эта проблема характерна для приложений Node, а все остальные приложения на компьютере работают нормально?
2. Можно ли это исправить в общем и кроссплатформенном виде?