Локальный запуск HTTPS является обязательным для определенных типов разработки.
Во время разработки вы можете настроить свой веб-сервер для установки безопасных соединений с браузерами. Node.js упрощает этот процесс даже в непроизводственной среде благодаря встроенным https модуль.
В рабочей среде вы можете настроить свое приложение за обратным прокси-сервером, таким как NGINX, который обычно предоставляет вам сертификаты. Но вам все равно может понадобиться протестировать ваше приложение, используя https в развитие.
Как вы можете использовать SSL-сертификат в приложении Node.js?
Как использовать SSL-сертификат для разработки безопасного сервера Node.js
Вы можете легко создать самозаверяющий SSL-сертификат в Linux, и выполните следующие действия, чтобы настроить приложение Node для использования https.
- Создайте файл точки входа на сервер, например index.js.
- Импортировать https и фс модули в файле вот так:
константа https = требовать("https");
константа фс = требовать("фс") - Определите объект параметров для https сервер, который вы собираетесь создать. Не забудьте заменить мой-сервер-key.pem и мой-сервер-cert.pem с правильными путями вашего закрытого ключа и файлов сертификатов.
константа варианты = {
Чтобы использовать настоящий SSL-сертификат, который вы можете получить бесплатно на letsencrypt.org, используйте следующие параметры:
ключ: fs.readFileSync("my-server-key.pem"),
сертификат: fs.readFileSync ("мой-сервер-cert.pem")
}константа варианты = {
ключ: fs.readFileSync ("/path/в/частный.ключ"),
сертификат: fs.readFileSync("/path/в/ssl_certificate.crt"),
ок: [
fs.readFileSync("/path/в/ca_root_file.crt"),
fs.readFileSync("/path/в/ca_bundle_certificate.crt")
]
} - Теперь инициализируйте свой сервер, используя параметры, и настройте его на прослушивание порта 443.
https.createServer (опции, (req, res) => {
res.writeHead(200);
res.end («привет, мир»);
})
.слушать(443);
Теперь вы можете запустить свой сервер в терминале, используя узел index.js. Когда вы проверяете соединение, открывая https://localhost или https://localhost: 443/ в вашем браузере вы должны увидеть 'Привет, мир' отображается.
Ваш браузер также может предупредить вас о небезопасном соединении при использовании самоподписанного сертификата. Это нормально, так как веб-браузеры обычно считают самозаверяющие сертификаты небезопасными.
Вы можете получить ошибку «Ошибка: слушайте EACCES: разрешение отклонено 0.0.0.0:443» когда вы пытаетесь запустить сервер, это происходит из-за того, что ваша машина запрещает приложению доступ к порту 443, что является поведением по умолчанию на большинстве устройств. Чтобы исправить это, запустите узел index.js команду от имени пользователя root в Linux (sudo узел index.js) или откройте свой терминал от имени администратора в Windows.
Использование SSL-сертификатов в приложениях Node.js
В большинстве случаев вам нужно будет добавлять SSL-сертификаты только на этапе разработки. Производственные требования обычно требуют установки инструментов безопасности, таких как брандмауэры и обратные прокси.
Таким образом, использование SSL-сертификата для вашего приложения больше не требуется. Вы можете захотеть добавить SSL-сертификат в рабочей среде только в том случае, если ваше приложение взаимодействует с внешними службами.