Эта ошибка внезапно начала возникать на всех моих серверах, и, несмотря на все попытки, предложенные здесь, мне не удалось ее устранить. Проблема сохраняется независимо от URL-адреса, к которому я пытаюсь получить доступ, включая, например, «google.com». Моя среда состоит из Windows Server 2019 и Node.js версии 21.7.3. Я пытался отправлять запросы, используя как Axios, так и Node-fetch, но обнаружил одну и ту же ошибку в обоих случаях. Удивительно, но при использовании CURL все работает так, как ожидалось. Ниже приведен пример кода, с которым я работал.
const axios = require('axios');
axios.get('https://google.com')
.then(function (response) {
console.info(response);
})
.catch(function (error) {
console.info(error);
});
У нас та же проблема; это определенно изменение ESET
После нескольких часов устранения неполадок я могу подтвердить, что это недавнее обновление Eset Internet Security.
Проблема в моем приложении Node выглядела следующим образом:
Error occurred while trying to proxy request /elastic from localhost:8080 to https://myserver.example (UNABLE_TO_VERIFY_LEAF_SIGNATURE)
Что помогло в моем случае — настройки Eset Internet Security:
Альтернативное решение: полностью отключите параметр «Включить сканирование трафика HTTPS».
Бро, ты чертова легенда! Я сделаю еще один ответ, просто чтобы показать, где они могут его найти. СПАСИБО
Я рад, что это помогает другим людям. Мне потребовалась целая вечность, чтобы найти, потому что простое отключение Eset как-то не помогло. Это был номер 1, который я попробовал, но ошибка осталась.
Точно! Я потратил больше 10 часов и не смог найти!!! Очень ценю ваши усилия и ваш ответ, он помог мне выжить :)
1000 Спасибо Питеру Матиско , shobidobi , jkaos92!
Внимание: Насколько я проверил, эта проблема возникает только у тех из вас, у кого на компьютере установлен ESET!
Выполните следующие действия в новом обновлении, и вы сможете найти подходящее место для отключения/исправления проблемы SSL/TLS:
Для тех из вас, кто использует GitHub Copilot и столкнулся с той же проблемой (первый сертификат), выполните следующие действия, чтобы исправить ее:
Откройте ESET
Перейдите на вкладку «Настройка» в боковом меню.
Нажмите на сеть
Нажмите на одну из кнопок ⚙️ справа.
Перейдите на вкладку SSL/TLS в боковом меню.
Нажмите «Изменить правила сертификата».
Нажмите кнопку «Добавить».
Нажмите на URL-адрес
Затем добавьте эти 2 URL-адреса (отдельно):
В действии «Сканировать» выберите «Игнорировать».
Источник: Документы GitHub
В отличие от респондентов выше, я считаю, что это касается не только тех, кто использует ESET; это случилось со мной в двух средах, ни в одной из которых не работал ESET.
Как объяснено в [https://www.codewithyou.com/blog/how-to-use-axios-to-handle-ssltls-certificate-verification-errors-in-nodejs]этой статьи, ошибка указывает на то, что «Ваше приложение не может проверить сертификат SSL/TLS, представленный сервером».
Далее в статье предлагается возможность отключить настройку безопасности в axios, передав ему собственный httpAgent, например:
const axios = require('axios'); // standard axios
const https = require('https'); // added for this workaround
const agent = new https.Agent({ // this block added for the workaround
rejectUnauthorized: false,
})
axios
.get('https://example.com', {
httpsAgent: agent, // this option added for the workaround
})
.then ...
Это решение сработало для меня. Я надеюсь, что это поможет и кому-то еще.
РЕШЕНО. Эта проблема вызвана SSL-фильтром Eset.