Рубрики
Uncategorized

Node.js: Как получить базовый веб-сервер HTTPS вверх и работает!

После того, как у вас установлено Node.js в вашей системе, вы можете просто следовать процедуре ниже, чтобы получить … Tagged с узлом, DevOps, Developer, WebDev.

После того, как у вас есть Node.js, установленные в вашей системе, вы можете просто следовать процедуре ниже, чтобы получить базовый веб-сервер, работающий с поддержкой как HTTP, так и для HTTPS!

1.1. Создайте папку, в которую вы хотите сохранить ключ и сертификат:

mkdir conf

1.2. Перейти в этот каталог:

cd conf

1.3. Захватите этот файл CA.CNF для использования в качестве конфигурации.

wget https://raw.githubusercontent.com/anders94/https-authorized-clients/master/keys/ca.cnf

1.4. Создайте новый орган сертификата, используя эту конфигурацию:

openssl req -new -x509 -days 9999 -config ca.cnf -keyout ca-key.pem -out ca-cert.pem

1.5. Теперь, когда у нас есть наш авторитет сертификата в CA-Key.pem и Ca-Cert.pem, давайте сгенерируем закрытый ключ для сервера:

openssl genrsa -out key.pem 4096

1.6. Возьмите этот файл Server.cnf, чтобы использовать в качестве ярлыка конфигурации:

wget https://raw.githubusercontent.com/anders94/https-authorized-clients/master/keys/server.cnf

1.7. Создайте запрос на подпись сертификата, используя эту конфигурацию:

openssl req -new -config server.cnf -key key.pem -out csr.pem

1.8. Подписать запрос:

openssl x509 -req -extfile server.cnf -days 999 -passin "pass:password" -in csr.pem -CA cacert.pem -CAkey ca-key.pem -CAcreateserial -out cert.pem

2.1. Скопируйте свой сертификат к папке корневых сертификатов:

sudo cp ca-crt.pem /usr/local/share/ca-certificates/ca-crt.pem

2.2. Обновить магазин CA:

sudo update-ca-certificates

Во -первых, вы хотите создать файл Server.js, который содержит ваш фактический код сервера. Минимальная установка для сервера HTTPS в Node.js будет что-то подобное:

var https = require('https');
var fs = require('fs');
var httpsOptions = {
 key: fs.readFileSync('path/to/server-key.pem'),
 cert: fs.readFileSync('path/to/server-crt.pem')
};
var app = function (req, res) {
 res.writeHead(200);
 res.end("hello world\n");
}
https.createServer(httpsOptions, app).listen(4433);

Если вы также хотите поддерживать HTTP-запросы, вам нужно сделать только эту небольшую модификацию:

var http = require('http');
var https = require('https');
var fs = require('fs');
var httpsOptions = {
 key: fs.readFileSync('path/to/server-key.pem'),
 cert: fs.readFileSync('path/to/server-crt.pem')
};
var app = function (req, res) {
 res.writeHead(200);
 res.end("hello world\n");
}
http.createServer(app).listen(8888);
https.createServer(httpsOptions, app).listen(4433);

3.1. Перейдите в каталог, где находится ваш Server.js:

cd /path/to

3.2. запустить server.js:

node server.js

С учетом всего этого, я настоятельно рекомендую вам продолжать учиться!

Спасибо за прочтение этой статьи. Пожалуйста, не стесняйтесь общаться со мной на LinkedIn и Twitter Отказ

Оригинал: «https://dev.to/rajeshkumaryadavdotcom/node-js-how-to-get-a-basic-https-web-server-up-and-running-9ke»