Я установил и установил самозаверяющий сертификат для локальной среды разработки. У меня есть активные скрипты, запускающие мой интерфейс. Я установил переменную окружения HTTPS = true и в своем пакете использую сценарий 'prestart'. json, чтобы записать свой самозаверяющий сертификат в ./node_modules/webpack-dev-server/ssl/server .pem.
"prestart": "(cat ./certs/server.crt ./certs/server.key > ./node_modules/webpack-dev-server/ssl/server.pem) || :",
Поэтому, когда я нажимаю https://localhost: 3000 (webpack-dev-server), я получаю безопасную и надежную блокировку. Пока все отлично.
Мой API-сервер написан на узле и работает на localhost: 4000. Я использую express и https модуль со свойствами ключа и сертификата, указывающими на один и тот же самозаверяющий сертификат и файл ключа.
const app = express();
const httpsServer = https.createServer({
key: fs.readFileSync('./certs/server.key'),
cert: fs.readFileSync('./certs/server.crt')
}, app);
module.exports = httpsServer;
Когда я нажимаю https://localhost: 4000 / login через выборку из моего приложения реакции, я получаю следующую ошибку в консоли браузера: (и, конечно, запрос не go через)
ОПЦИИ https://localhost: 4000 / login net :: ERR_SSL_VERSION_OR_CIPHER_MISMATCH
Я смотрел на несоответствия набора шифров наряду со многими другими вещами, но, кажется, ничто не может исправить это. Есть ли проблема с одним и тем же сертификатом, который используется как для сервера узлов, так и для web-dev-сервера, даже если они находятся на одном хосте?
Любая помощь будет принята с благодарностью, и я полностью осознаю, что возможно, есть что-то очень прямое, что я пропустил, поэтому заранее прошу прощения за то, что стал слегка слепым.