Когда на локалхосте нужен https можно сделать следующее.
Выполняем команду:
openssl req -x509 -out localhost.crt -keyout localhost.key \
-newkey rsa:2048 -nodes -sha256 \
-subj '/CN=localhost' -extensions EXT -config <( \
printf "[dn]\nCN=localhost\n[req]\ndistinguished_name = dn\n[EXT]\nsubjectAltName=DNS:localhost\nkeyUsage=digitalSignature\nextendedKeyUsage=serverAuth")
Копируем файлы localhost.crt и localhost.key в папку приложения и подключаем.
Также, не забывайте, что может потребоваться добавить сертификат в кейчеин (на маке просто делаем двойной клик по localhost.crt).
Также, может потребоваться перейти по ссылке на сертификат (если допустим подключается апи к другому хосту), то просто открывайте сайт по тому урлу и соглашайтесь через “Дополнительно” и “Перейти на сайт”.
Например, для nodejs код будет выглядеть примерно так (index.js):
const https = require('https');
const HTTPS_OPTIONS = Object.freeze({
cert: fs.readFileSync('./localhost.crt'),
key: fs.readFileSync('./localhost.key')
});
const httpsServer = https.createServer(HTTPS_OPTIONS);
Источник: https://letsencrypt.org/ru/docs/certificates-for-localhost/