SSL сертификат является файлом , который помогает браузерам признать , что доменное имя принадлежит владельцу сервера (а также его информации , как имя, местоположение, компании и т.д.).
Таким образом, если вы размещаете свой сайт без сертификатов, браузеры покажут пользователям, что сайт небезопасен, и могут заблокировать сам сайт или отключить на нем видео / аудио.
Способы генерации SSL-сертификатов
1. Самоподписанный сертификат
Такой сертификат также не будет доверять браузерам. И вам нужно будет попросить всех пользователей добавить этот сертификат в список доверенных в настройках вашего браузера. Это может работать только для внутренних пользователей. В противном случае пользователи увидят что-то вроде этого:
2. Создайте сертификат, подписанный центром сертификации
В Encrypt фонд Давайте помогает генерировать сертификаты , которые будут признаны в качестве доверенных во всех браузерах. Чтобы упростить генерацию сертификатов, вы можете использовать полностью автоматизированный сервис под названием certbot . Вот что вам нужно сделать, чтобы создать сертификат с помощью cerbot:
- Прикрепите ваше доменное имя к вашему серверу.
- Войдите на ваш сервер через ssh как root.
- Установите certbot на свой сервер и выполните набор команд.
- Подождите, пока ваш сертификат будет распознан браузером (10 минут или около того).
Вам также может понравиться:
Все о HTTPS и SSL (Java) .
В зависимости от вашего веб-сервера и операционной системы, вы найдете соответствующий набор инструкций в документации certbot.
После того, как вы установите certbot и выполните команды для создания вашего сертификата, вы найдете файлы сертификатов в папке / etc / letsencrypt / live / domain .
Для вашего HTTPS-сервера вам нужны только два файла: cert.pem и privkey.pem .
Затем вы можете использовать эти файлы для создания защищенного сервера с Node.js с помощью следующего скрипта:
JavaScript
1
var nodeStatic = require('node-static');
2
var https = require('https');
3
var file = new (nodeStatic.Server)();
4
const fs = require('fs');
5
const options = {
7
key: fs.readFileSync('/etc/letsencrypt/live/domain/privkey.pem'),
8
cert: fs.readFileSync('/etc/letsencrypt/live/domain/cert.pem')
9
};
10
var app = https.createServer(options, function (req, res) {
12
file.serve(req, res);
13
}).listen(443);
Сохраните этот файл как server.js и выполните его.
Простой текст
xxxxxxxxxx
1
node server.js
Подождите, пока ваш сертификат синхронизируется и откройте ваш сайт. Теперь ваше соединение должно быть доверенным: