Недоходят POST запроса на сервер с openssl сертификатом, [1)net::ERR_CERT_AUTHORITY_INVALID 2)net::ERR_SSL_VERSION_OR_CIPHER_MISMATCH]
С сайта отправляется post запрос на сервер, который должен считывать тело запроса и записывать его в файл с логами. На время теста хостингом сайта служит github, в роли сервера выступает рабочий комп с node express(ом). fetch джаваскрипта выглядит следующим образом:
function callAPI(){
fetch('https://тут.внешний.IP.адресс:3000', { // перенаправление с внешнего IP адреса на рабочий комп
method: "POST",
mode: 'no-cors', // корс отключен
headers: {
"Content-Type": "application/x-www-form-urlencoded"
},
body: `${searchInput.value}`, // тело с передаваемым значением
});
}
сервер:
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
const https = require('https');
var fs = require('fs');
app.use(express.static('public'));
app.use(express.json());
app.use(bodyParser.json({ limit: '100mb' }));
app.use(bodyParser.urlencoded({ limit: '100mb', extended: false }));
app.post('/',bodyParser.json() ,(request, response) => {
console.log((JSON.stringify(request.body)));
function logTime(){
return `${JSON.stringify(request.body)}`;
}
fs.appendFile('Statistics.log',new Date() + logTime()+'\n', function(){});
response.json({
status: 'success',
});
});
https.createServer({
//rejectUnauthorized: false,
key: fs.readFileSync('./key.pem'), // файл приватного ключа
cert: fs.readFileSync('./cert.pem'), // файл сертификата
passphrase: 'кодовое_слово'
},app).listen(3000, '192.168.0.131',()=> console.log('Listening 3000')); // прослушка IP адреса
компа, также указывал 0.0.0.0
В папке с файлом-сервером лежат сгенерированный openssl(ем) сертификат (cert.pem) и ключ (key.pem). При запуске сервера и попытке отправить post запрос в консоли выводится ошибка net::ERR_CERT_AUTHORITY_INVALID.
Если в https сервере поставить раскомментировать параметр rejectUnauthorized: false и закомментить пути к сертификату, ключу и кодовое слово, то в консоль выводится ошибка ERR_SSL_VERSION_OR_CIPHER_MISMATCH. (включал TLS 1.3, отключал QUIC, чистил кэш, отключал брэндмауэр - не помогло).
https.createServer({
rejectUnauthorized: false,
//key: fs.readFileSync('./key.pem'),
//cert: fs.readFileSync('./cert.pem'),
//passphrase: 'кодовое_слово'
},app).listen(3000, '192.168.0.131',()=> console.log('Listening 3000'));
До генерации сертификата ругался на SSL протокол: ERR_SSL_PROTOCOL_ERROR
Прошу подсказать, в какую область копать, чтобы разрешить проблему и беспрепятственно отправлять post запросы через fetch или axios.