הפעלת HTTPS מקומית היא חובה עבור סוגים מסוימים של פיתוח.
במהלך הפיתוח, ייתכן שתרצה להגדיר את שרת האינטרנט שלך כדי ליצור חיבורים מאובטחים עם דפדפנים. Node.js הופך את זה לתהליך פשוט, אפילו בסביבה שאינה ייצור, עם מובנה שלו https מודול.
במהלך הייצור, ייתכן שתגדיר את האפליקציה שלך מאחורי פרוקסי הפוך כמו NGINX, שבדרך כלל משרת עבורך אישורים. אבל ייתכן שעדיין תצטרך לבדוק את היישום שלך באמצעות https בפיתוח.
כיצד ניתן להשתמש באישור SSL ביישום Node.js?
כיצד להשתמש בתעודת SSL כדי לפתח שרת Node.js מאובטח
אתה יכול בקלות ליצור אישור SSL בחתימה עצמית בלינוקס, ובצע את השלבים הבאים כדי להגדיר את יישום ה-Node שלך לשימוש https.
- צור קובץ נקודת כניסה לשרת, למשל index.js.
- ייבא את https ו fs מודולים בקובץ כך:
const https = לִדרוֹשׁ('https');
const fs = לִדרוֹשׁ('fs') - הגדר את אובייקט האפשרויות עבור https שרת שאתה עומד ליצור. זכור להחליף my-server-key.pem ו my-server-cert.pem עם הנתיבים הנכונים של המפתח הפרטי וקובצי האישור שלך.
const אפשרויות = {
כדי להשתמש בתעודת SSL אמיתית, אותה תוכל לקבל בחינם letsencrypt.org, השתמש באפשרויות הבאות:
מפתח: fs.readFileSync("my-server-key.pem"),
cert: fs.readFileSync("my-server-cert.pem")
}const אפשרויות = {
מפתח: 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")
]
} - כעת אתחל את השרת שלך באמצעות האפשרויות והגדר אותו להאזין ביציאה 443.
https.createServer (אפשרויות, (req, res) => {
res.writeHead(200);
res.end("שלום עולם");
})
.להקשיב(443);
כעת תוכל להפעיל את השרת שלך במסוף באמצעות node index.js. כאשר אתה בודק את החיבור על ידי פתיחה https://localhost אוֹ https://localhost: 443/ בדפדפן שלך, אתה אמור לראות 'שלום עולם' מוצג.
הדפדפן שלך עשוי גם להזהיר אותך על חיבור לא מאובטח בעת השימוש באישור בחתימה עצמית. זה נורמלי מכיוון שאישורים בחתימה עצמית נחשבים בדרך כלל לא מאובטחים על ידי דפדפני אינטרנט.
ייתכן שתקבל את השגיאה "שגיאה: הקשב EACCES: הרשאה נדחתה 0.0.0.0:443" כאשר אתה מנסה להפעיל את השרת שלך, זה נובע מכך שהמכונה שלך מונעת מהאפליקציה גישה ליציאה 443 שהיא התנהגות ברירת המחדל ברוב המכשירים. כדי לתקן זאת, הפעל את node index.js הפקודה בתור משתמש השורש בלינוקס (sudo node index.js), או פתח את המסוף שלך כמנהל מערכת ב-Windows.
שימוש בתעודות SSL ביישומי Node.js
לרוב, תרצה להוסיף תעודות SSL רק בשלב הפיתוח. דרישות הייצור בדרך כלל דורשות התקנה של כלי אבטחה כמו חומות אש ופרוקסי הפוך בכל מקרה.
באופן זה, השימוש באישור SSL עבור היישום שלך אינו נדרש עוד. ייתכן שתרצה להוסיף אישור SSL בייצור רק אם היישום שלך מתקשר עם שירותים חיצוניים.