Создайте сервер HTTPS с помощью node js
Я хочу создать https-сервер для моего localhost.
Node Документация JS содержит нестандартное решение, но у меня есть путаница с ним.
Пример
var https = require('https');
var fs = require('fs');
var options = {
key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'),
cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem')
};
https.createServer(options, function (req, res) {
res.writeHead(200);
res.end("hello world\n");
}).listen(8000);
Или
var options = {
pfx: fs.readFileSync('server.pfx')
};
Вот как мне получить ключ, cert или pfx для моего localhost?
Ответы
Ответ 1
В целях развития вы можете создать самоподтвержденный сертификат.
Вот как это сделать в Linux-системе:
Сначала создайте закрытый ключ
openssl genrsa 1024 > key.pem
Это сохранит 1024-битный ключ RSA в файле key.pem
Затем создайте SSL-сертификат с этим ключом:
openssl req -x509 -new -key key.pem > key-cert.pem
Теперь вы можете использовать key.pem и key-cert.pem в параметрах, которые вы передаете createServer.
Ответ 2
Файл .pfx
представляет собой "пакет", вычеркнутый из файлов key.pem
, cert.pem
и иногда (CA file
).
Вы должны получить (оплатить)/сделать (тестирование и т.д.) https-сертификатом.
Ответ 3
Это называется самозаверяющим сертификатом, и вы можете сгенерировать его одной командой с помощью openssl. Просто введите:
openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem
в терминале.