Шаг 1: Сгенерируйте закрытый ключ и запрос на подписание сертификата (CSR).
Чтобы сгенерировать закрытый ключ и CSR, вы можете воспользоваться функцией openssl
инструмент командной строки. Ниже приведен пример того, как это сделать:
# Generate a private key
openssl genrsa -out server.key 2048
# Generate a certificate signing request
openssl req -new -sha256 -key server.key -out server.csr
[openssl genrsa
генерирует закрытый ключ, а команда openssl req
команда генерирует CSR на основе закрытого ключа. Команда -out
задает выходной файл для закрытого ключа или CSR. Опция -new
указывает openssl
создать новый запрос на сертификат, а опция -sha256
определяет алгоритм хэширования.
Шаг 2: Отправьте CSR в центр сертификации (ЦС).
Центр сертификации (ЦС) — это доверенное лицо, которое выпускает цифровые сертификаты. Чтобы получить SSL-сертификат, вам нужно отправить CSR в центр сертификации. Центр сертификации проверит вашу личность и выдаст цифровой сертификат, если все подтвердится.
Существует множество центров сертификации, и они предлагают различные типы SSL-сертификатов с разными уровнями безопасности и возможностями. Вы можете заказать один из них у Certificate SSL — WebHi Technology.
Чтобы отправить свой CSR в ЦС, вам нужно следовать их конкретным инструкциям. В общем случае вам нужно будет создать учетную запись в центре сертификации, предоставить личную информацию и информацию о компании, а затем загрузить или вставить свой CSR.
Шаг 3: Установите SSL-сертификат на свой сервер.
После получения SSL-сертификата из центра сертификации вы можете установить его на свой сервер. Этот процесс зависит от настроек вашего сервера и типа сертификата. Вот несколько общих шагов, которые вы можете выполнить:
- Сохраните SSL-сертификат и все промежуточные сертификаты в отдельных файлах на вашем сервере.
- Обновите свой сервер Node.js для использования SSL-сертификата и закрытого ключа. Вот пример того, как это сделать с помощью функции
https
модуля:
const https = require('https');
const fs = require('fs');
https.createServer({
key: fs.readFileSync('server.key'),
cert: fs.readFileSync('server.crt'),
ca: [
fs.readFileSync('intermediate1.crt'),
fs.readFileSync('intermediate2.crt'),
// ...
],
}, (req, res) => {
// ...
}).listen(443);
- Настройте свой сервер на прослушивание порта HTTPS (443).
- Обновите свой веб-сайт, чтобы он использовал HTTPS вместо HTTP. Это можно сделать, обновив ссылки на вашем сайте, чтобы они использовали
https://
вместоhttp://
, а также перенаправляя весь HTTP-трафик на HTTPS с помощью301
редиректа.
Вот пример того, как перенаправить весь HTTP-трафик на HTTPS с помощью http
модуля в Node.js:
const http = require('http');
http.createServer((req, res) => {
res.writeHead(301, { 'Location': 'https://' + req.headers['host'] + req.url });
res.end