De Timilehin Omolana

Rularea HTTPS local este o necesitate pentru anumite tipuri de dezvoltare.

Cititorii ca tine ajută la sprijinirea MUO. Când efectuați o achiziție folosind link-uri de pe site-ul nostru, este posibil să câștigăm un comision de afiliat. Citeşte mai mult.

În timpul dezvoltării, poate doriți să vă configurați serverul web pentru a stabili conexiuni sigure cu browsere. Node.js face ca acesta să fie un proces simplu, chiar și într-un mediu care nu este de producție, cu acesta încorporat https modul.

În producție, s-ar putea să vă configurați aplicația în spatele unui proxy invers, cum ar fi NGINX, care vă oferă de obicei certificate. Dar este posibil să fie nevoie să testați aplicația folosind https în dezvoltare.

Cum puteți utiliza un certificat SSL într-o aplicație Node.js?

Cum să utilizați un certificat SSL pentru a dezvolta un server Node.js securizat

Poți cu ușurință creați un certificat SSL autosemnat în Linux, și urmați pașii de mai jos pentru a configura aplicația Node pe care să o utilizați https.

instagram viewer
  1. Creați un fișier de punct de intrare pentru server, de exemplu index.js.
  2. Importă https și fs module din fișier ca acesta: const https = cere("https");
    const fs = cere('fs')
  3. Definiți obiectul opțiuni pentru https serverul pe care urmează să-l creați. Amintiți-vă să înlocuiți my-server-key.pem și my-server-cert.pem cu căile corecte ale cheii private și ale fișierelor certificate. const opțiuni = {
    cheie: fs.readFileSync ("my-server-key.pem"),
    cert: fs.readFileSync("my-server-cert.pem")
    }
    Pentru a utiliza un certificat SSL real, pe care îl puteți obține gratuit la letsencrypt.org, utilizați următoarele opțiuni: const opțiuni = {
    cheie: fs.readFileSync("/path/to/private.key"),
    certificat: fs.readFileSync("/path/la/ssl_certificate.crt"),
    ca: [
    fs.readFileSync("/path/to/ca_root_file.crt"),
    fs.readFileSync("/path/la/ca_bundle_certificate.crt")
    ]
    }
  4. Acum inițializați serverul folosind opțiunile și setați-l să asculte pe portul 443. https.createServer (opțiuni, (req, res) => {
    res.writeHead(200);
    res.end("bună lume");
    })
    .asculta(443);

Acum puteți porni serverul în terminal folosind nod index.js. Când testați conexiunea prin deschidere https://localhost sau https://localhost: 443/ în browserul dvs., ar trebui să vedeți 'Salut Lume' afișat.

De asemenea, browserul dumneavoastră vă poate avertiza despre o conexiune nesigură atunci când utilizați certificatul autosemnat. Acest lucru este normal, deoarece certificatele autosemnate sunt în general considerate nesigure de către browserele web.

Este posibil să primiți eroarea „Eroare: ascultați EACCES: permisiunea refuzată 0.0.0.0:443” atunci când încercați să porniți serverul, acest lucru se datorează faptului că mașina dvs. interzice accesul aplicației la portul 443, care este comportamentul implicit în majoritatea dispozitivelor. Pentru a remedia acest lucru, rulați nod index.js comanda ca utilizator root în Linux (sudo node index.js), sau deschideți-vă terminalul ca administrator în Windows.

Utilizarea certificatelor SSL în aplicațiile Node.js

De cele mai multe ori, veți dori să adăugați certificate SSL doar în timpul fazei de dezvoltare. Cerințele de producție necesită, de obicei, instalarea de instrumente de securitate, cum ar fi firewall-uri și proxy inverse.

În acest mod, utilizarea unui certificat SSL pentru aplicația dvs. nu mai este necesară. Este posibil să doriți să adăugați un certificat SSL în producție numai dacă aplicația dvs. comunică cu servicii externe.

Aboneaza-te la newsletter-ul nostru

Comentarii

AcțiuneTweetAcțiuneAcțiuneAcțiune
Drepturi de autor
E-mail
Acțiune
AcțiuneTweetAcțiuneAcțiuneAcțiune
Drepturi de autor
E-mail

Link copiat în clipboard

Subiecte asemănătoare

  • Programare
  • Dezvoltare web
  • SSL
  • JavaScript

Despre autor

Timilehin Omolana(12 articole publicate)

Timilehin este un inginer software și un scriitor tehnic căruia îi place să exploreze lumea tehnologiilor de pe partea de server și a sistemelor distribuite.