Изпълнението на HTTPS локално е задължително за определени видове разработки.
По време на разработката може да поискате да настроите вашия уеб сървър, за да установява сигурни връзки с браузъри. Node.js прави това лесен процес, дори в непроизводствена среда, с вградените си https модул.
В производството може да настроите приложението си зад обратен прокси като NGINX, който обикновено обслужва сертификати вместо вас. Но все пак може да се наложи да тествате приложението си, като използвате https в развитие.
Как можете да използвате SSL сертификат в Node.js приложение?
Как да използвате SSL сертификат за разработване на защитен Node.js сървър
Можете лесно създайте самоподписан SSL сертификат в Linuxи следвайте стъпките по-долу, за да конфигурирате вашето приложение Node за използване https.
- Създайте файл с входна точка на сървъра, например index.js.
- Импортирайте https и fs модули във файла по следния начин:
конст https = изискват('https');
конст fs = изискват('fs') - Дефинирайте обекта с опции за https сървър, който ще създадете. Не забравяйте да замените my-server-key.pem и my-server-cert.pem с правилните пътища на вашия личен ключ и файлове със сертификати.
конст опции = {
За да използвате истински SSL сертификат, който можете да получите безплатно на letsencrypt.org, използвайте следните опции:
ключ: fs.readFileSync("my-server-key.pem"),
сертификат: fs.readFileSync("my-server-cert.pem")
}конст опции = {
ключ: fs.readFileSync("/path/към/private.key"),
сертификат: 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 сертификат само в производството, ако приложението ви комуникира с външни услуги.