Lokalno pokretanje HTTPS-a nužno je za određene vrste razvoja.
Tijekom razvoja možda ćete htjeti postaviti svoj web poslužitelj za uspostavljanje sigurnih veza s preglednicima. Node.js čini ovo jednostavnim procesom, čak i u neproizvodnom okruženju, sa svojim ugrađenim https modul.
U proizvodnji možete postaviti svoju aplikaciju iza obrnutog proxyja kao što je NGINX, koji obično služi certifikate umjesto vas. Ali možda ćete ipak morati testirati svoju aplikaciju pomoću https u razvoju.
Kako možete koristiti SSL certifikat u Node.js aplikaciji?
Kako koristiti SSL certifikat za razvoj sigurnog poslužitelja Node.js
Možete lako stvoriti samopotpisani SSL certifikat u Linuxu, i slijedite korake u nastavku da biste konfigurirali svoju Node aplikaciju za korištenje https.
- Stvorite datoteku ulazne točke poslužitelja, npr. index.js.
- Uvezi https i fs moduli u datoteci ovako:
konst https = zahtijevati('https');
konst fs = zahtijevati('fs') - Definirajte objekt opcija za https poslužitelj koji ćete izraditi. Ne zaboravite zamijeniti moj-ključ-poslužitelja.pem i moj-poslužitelj-cert.pem s ispravnim stazama vašeg privatnog ključa i datoteka certifikata.
konst opcije = {
Za korištenje pravog SSL certifikata, koji možete dobiti besplatno na letsencrypt.orgupotrijebite sljedeće opcije:
ključ: fs.readFileSync("my-server-key.pem"),
certifikat: fs.readFileSync("moj-poslužitelj-cert.pem")
}konst opcije = {
ključ: fs.readFileSync("/path/do/privatni.ključ"),
certifikat: fs.readFileSync("/path/to/ssl_certificate.crt"),
ca: [
fs.readFileSync("/path/u/ca_root_file.crt"),
fs.readFileSync("/path/to/ca_bundle_certificate.crt")
]
} - Sada inicijalizirajte svoj poslužitelj pomoću opcija i postavite ga da sluša na portu 443.
https.createServer (opcije, (req, res) => {
res.writeHead(200);
res.end("zdravo svijete");
})
.slušati(443);
Sada možete pokrenuti svoj poslužitelj na terminalu koristeći indeks čvora.js. Kada testirate vezu otvaranjem https://localhost ili https://localhost: 443/ u svom pregledniku, trebali biste vidjeti 'Pozdrav svijete' prikazano.
Vaš preglednik vas također može upozoriti na nesigurnu vezu kada koristite samopotpisani certifikat. To je normalno jer web-preglednici općenito smatraju samopotpisane certifikate nesigurnima.
Možda ćete dobiti grešku "Pogreška: slušajte EACCES: dopuštenje odbijeno 0.0.0.0:443" kada pokušate pokrenuti svoj poslužitelj, to je zbog toga što vaš stroj uskraćuje aplikaciji pristup portu 443, što je zadano ponašanje na većini uređaja. Da biste to popravili, pokrenite indeks čvora.js naredba kao root korisnik u Linuxu (sudo čvor indeks.js), ili otvorite svoj terminal kao administrator u sustavu Windows.
Korištenje SSL certifikata u Node.js aplikacijama
Većinu vremena samo ćete htjeti dodati SSL certifikate tijekom faze razvoja. Proizvodni zahtjevi obično zahtijevaju instalaciju sigurnosnih alata poput vatrozida i obrnutih proxyja.
Na ovaj način korištenje SSL certifikata za vašu aplikaciju više nije potrebno. Možda ćete htjeti dodati SSL certifikat u produkciji samo ako vaša aplikacija komunicira s vanjskim uslugama.