Η τοπική εκτέλεση 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/to/private.key"),
πιστοποιητικό: fs.readFileSync("/path/to/ssl_certificate.crt"),
περίπου: [
fs.readFileSync("/path/to/ca_root_file.crt"),
fs.readFileSync("/path/to/ca_bundle_certificate.crt")
]
} - Τώρα αρχικοποιήστε τον διακομιστή σας χρησιμοποιώντας τις επιλογές και ρυθμίστε τον να ακούει στη θύρα 443.
https.createServer (επιλογές, (απαιτ., ανάλογ.) => {
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 node index.js), ή ανοίξτε το τερματικό σας ως διαχειριστής στα Windows.
Χρήση πιστοποιητικών SSL σε εφαρμογές Node.js
Τις περισσότερες φορές, θα θέλετε να προσθέσετε πιστοποιητικά SSL μόνο κατά τη φάση ανάπτυξης. Οι απαιτήσεις παραγωγής συνήθως απαιτούν την εγκατάσταση εργαλείων ασφαλείας όπως τείχη προστασίας και αντίστροφα διακομιστές μεσολάβησης ούτως ή άλλως.
Με αυτόν τον τρόπο, η χρήση πιστοποιητικού SSL για την εφαρμογή σας δεν απαιτείται πλέον. Μπορεί να θέλετε να προσθέσετε ένα πιστοποιητικό SSL στην παραγωγή μόνο εάν η εφαρμογή σας επικοινωνεί με εξωτερικές υπηρεσίες.