SSL-сертификат - отключить проверку в аксиомах и отреагировать
Я пытаюсь использовать API в своем приложении для реагирования, используя axios. API работает через HTTPS с самоподписанным сертификатом. Пока у меня есть следующая ошибка при подключении:
net::ERR_INSECURE_RESPONSE
bundle.js:65253 HTTP Failure in Axios Error: Network Error
at createError (bundle.js:2188)
at XMLHttpRequest.handleError (bundle.js:1717)
Я пробовал следующее, но безуспешно:
import axios from 'axios';
const https = require('https');
const agent = new https.Agent({
rejectUnauthorized: false,
});
const client = axios.create({ //all axios can be used, shown in axios documentation
baseURL: process.env.REACT_APP_API_URL,
responseType: 'json',
withCredentials: true,
httpsAgent: agent
});
export default client;
Есть ли способ отключить проверку сертификата?
Ответы
Ответ 1
Вы всегда можете использовать Let Encrypt, чтобы получить подписанный сертификат SSL и использовать его на своем веб-сервере. Насколько я знаю (поправьте меня, если я ошибаюсь) Это веб-браузер Chrome, который блокирует вам доступ к запрашиваемому ресурсу при наличии самозаверяющего SSL-сертификата. Это не имеет никакого отношения к Аксиосу.
Ответ 2
Вы можете временно отключить веб-безопасность Chrome. Но это не постоянное решение:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security --disable-gpu --user-data-dir=~/chromeTemp
Или вы можете перейти к chrome://flags и включить Allow недействительных сертификатов для ресурсов, загруженных с localhost.
РЕДАКТИРОВАТЬ:
Извините, похоже, я неправильно понял ваш вопрос. Приведенный выше ответ действителен только для целей разработки, если вы работаете в условиях разработки и проблемы с сертификатами будут решены, когда дело доходит до производства.
Но, как правило, вы не можете избежать ошибки, так как браузер заблокирует ответ, и это не имеет ничего общего с JavaScript