Я использую ax ios для отправки запроса POST на внешний сервер с некоторыми данными. Вот моя настройка топора ios, без каких-либо дополнительных средств для обработки самозаверяющего сертификата:
const https = require('https')
const axiosConfig = {
method: 'post',
data: callbackXML,
url: process.env.CALLBACK_URL,
headers: responseHeaders
}
await axios.request(axiosConfig).then((response) => {
console.log('resp is', response)
})
.catch(e => {
console.log(`${helpers.getLoggingTimestamp()} error is`)
console.log(e.toJSON())
})
Я знаю, что есть решение для локального использования, потому что я уже использую его, а это
NODE_TLS_REJECT_UNAUTHORIZED='0'
Однако по понятным причинам это не приемлемо в производственной среде.
Я попробовал почти все, что касается топи c здесь, на SO, Googling и др. c. Я попытался добавить сертификаты к NODE_EXTRA_CA_CERTS
через переменные env, а также установить параметр ca:
в https Agent
и передать его в конфигурацию ax ios. Я также попытался добавить сертификаты через командную строку, например, так: export NODE_EXTRA_CA_CERTS=/c/code/server.crt
.
Мой реальный вопрос: где находится мой сертификат-нарушитель? Если я не добавлю оскверняющий самоподписанный сертификат, то я никогда не решу это.
Примечание: это проблема узла, а не проблема топора ios, как я пытался другие библиотеки запросов, и я получаю ту же ошибку.