Получение правильной ошибки http для запросов в js - PullRequest
0 голосов
/ 06 апреля 2020

Я хочу программно обновить сайт с http до https. Для этого я проверяю домен, который указывает на веб-сайт с помощью скрипта js, если он уже доступен. Мы также хотим разрешить самозаверяющие сертификаты для сред тестирования.

По сути, я запрашиваю веб-сайт, пока он больше не выдаст ошибку и не перенаправит ее позже, но это работает только для правильно подписанных сертификатов. Для самозаверяющих сертификатов вызов fetch / ax ios выдает такую ​​ошибку: "message":"Network Error". Ошибка super generi c и такая же, если центр сертификации неизвестен и нет доступного соединения через https.

Но я думаю, что должен быть способ определить, была ли ошибка с сертификатом, потому что браузер выдает эту ошибку: net::ERR_CERT_AUTHORITY_INVALID.

Пример приложения:

try{
  axios.get('https://domain.with.selfsigned.certificate.com')
    .then(function (response) {
      console.log(response);
    })
    .catch(function (error) {
      console.log("Error inside: " + JSON.stringify(error));
    });
}catch(err){
   console.log("Error outside: "+JSON.stringify(err))
}

Кто-нибудь знает, как получить правильную ошибку или знает обходной путь? Если я получаю правильную ошибку, я могу попытаться перенаправить или вернуть правильную ошибку пользователю, чтобы он мог принять решение, но сейчас я застрял, потому что ошибка для меня нонсенс.

...