Lokálne spustenie HTTPS je pre určité typy vývoja nevyhnutnosťou.
Počas vývoja možno budete chcieť nastaviť webový server tak, aby vytváral zabezpečené spojenia s prehliadačmi. Node.js z toho robí jednoduchý proces, dokonca aj v neprodukčnom prostredí, so vstavaným https modul.
V produkcii môžete svoju aplikáciu nastaviť za reverzný proxy server, ako je NGINX, ktorý vám zvyčajne poskytuje certifikáty. Možno však budete musieť otestovať svoju aplikáciu pomocou https Vo vývoji.
Ako môžete použiť certifikát SSL v aplikácii Node.js?
Ako používať certifikát SSL na vývoj zabezpečeného servera Node.js
Môžete ľahko vytvorte certifikát SSL s vlastným podpisom v systéme Linuxa podľa nižšie uvedených krokov nakonfigurujte svoju aplikáciu Node na používanie https.
- Vytvorte súbor vstupného bodu servera, napr. index.js.
- Importovať https a fs moduly v súbore takto:
konšt https = vyžadovať(„https“);
konšt fs = vyžadovať('fs') - Definujte objekt volieb pre https server, ktorý sa chystáte vytvoriť. Nezabudnite vymeniť môj-kľúč-servera.pem a moj-server-cert.pem so správnymi cestami vašich súkromných kľúčov a súborov certifikátov.
konšt možnosti = {
Ak chcete použiť skutočný SSL certifikát, ktorý môžete získať zadarmo na letsencrypt.org, použite nasledujúce možnosti:
kľúč: fs.readFileSync("my-server-key.pem"),
cert: fs.readFileSync("môj-server-cert.pem")
}konšt možnosti = {
kľúč: fs.readFileSync("/path/to/private.key"),
cert: fs.readFileSync("/path/to/ssl_certificate.crt"),
ca: [
fs.readFileSync("/path/to/ca_root_file.crt"),
fs.readFileSync("/path/to/ca_bundle_certificate.crt")
]
} - Teraz inicializujte svoj server pomocou možností a nastavte ho tak, aby počúval na porte 443.
https.createServer (options, (req, res) => {
res.writeHead(200);
res.end("ahoj svet");
})
.počúvať(443);
Teraz môžete spustiť svoj server v termináli pomocou node index.js. Keď testujete pripojenie otvorením https://localhost alebo https://localhost: 443/ vo svojom prehliadači by ste mali vidieť "ahoj svet" zobrazené.
Váš prehliadač vás môže tiež upozorniť na nezabezpečené pripojenie pri používaní certifikátu s vlastným podpisom. Je to normálne, pretože webové prehliadače všeobecne považujú certifikáty s vlastným podpisom za nezabezpečené.
Môžete dostať chybu „Chyba: počúvať EACCES: povolenie odmietnuté 0.0.0.0:443“ Keď sa pokúsite spustiť server, je to spôsobené tým, že váš počítač zamietne aplikácii prístup k portu 443, čo je predvolené správanie vo väčšine zariadení. Ak to chcete opraviť, spustite node index.js príkaz ako užívateľ root v systéme Linux (sudo node index.js), alebo otvorte svoj terminál ako správca v systéme Windows.
Používanie certifikátov SSL v aplikáciách Node.js
Väčšinu času budete chcieť pridať certifikáty SSL iba vo fáze vývoja. Výrobné požiadavky zvyčajne vyžadujú inštaláciu bezpečnostných nástrojov, ako sú firewally a reverzné proxy.
Týmto spôsobom už nie je potrebné používať certifikát SSL pre vašu aplikáciu. SSL certifikát môžete chcieť pridať do produkcie iba vtedy, ak vaša aplikácia komunikuje s externými službami.