התקנת תעודה בכל מוצרי node: הבדלים בין גרסאות בדף
שורה 2: | שורה 2: | ||
{{ניווט|תעודת האבטחה}} | {{ניווט|תעודת האבטחה}} | ||
− | '''עדכון עבור מערכות windows: בתאריך כ"ח ניסן תשע"ט / 3 במאי 2019, יצאה [[התקנת תעודה נפוצה|תוכנה חדשה להתקנת התעודה]], התוכנה | + | '''עדכון עבור מערכות windows: בתאריך כ"ח ניסן תשע"ט / 3 במאי 2019, יצאה [[התקנת תעודה נפוצה|תוכנה חדשה להתקנת התעודה]], יש להריץ התקנה מחדש של התוכנה לאחר התקנת node והתוכנה מתקינה אותה באופן אוטומטי גם עבור node.''' |
==אפשרות מומלצת== | ==אפשרות מומלצת== | ||
שורה 13: | שורה 13: | ||
− | windows | + | ===windows=== |
− | מגדירים במחשב משתנה סביבה בשם NODE_EXTRA_CA_CERTS, שהערך שלו הוא כתובת התעודה במחשב. | + | מגדירים במחשב משתנה סביבה בשם <code>NODE_EXTRA_CA_CERTS</code>, שהערך שלו הוא כתובת התעודה במחשב. |
להגדרת משתנה סביבה במערכת Windows יש לכתוב בשורת הפקודה במצב מנהל: | להגדרת משתנה סביבה במערכת Windows יש לכתוב בשורת הפקודה במצב מנהל: | ||
שורה 24: | שורה 24: | ||
− | linux | + | ===linux=== |
יש לפתוח את קובץ הפרופיל (/etc/profile) ולכתוב את השורה הבאה בסוף הקובץ: | יש לפתוח את קובץ הפרופיל (/etc/profile) ולכתוב את השורה הבאה בסוף הקובץ: | ||
שורה 33: | שורה 33: | ||
− | mac | + | ===mac=== |
צריך להגדיר משתנה סביבה לקובץ הפרופיל של סביבת שורת הפקודה שאתם משתמשים בה. | צריך להגדיר משתנה סביבה לקובץ הפרופיל של סביבת שורת הפקודה שאתם משתמשים בה. | ||
שורה 82: | שורה 82: | ||
הריצו בשורת הפקודה: | הריצו בשורת הפקודה: | ||
− | linux\mac | + | ===linux\mac=== |
<pre>export NODE_TLS_REJECT_UNAUTHORIZED=0</pre> | <pre>export NODE_TLS_REJECT_UNAUTHORIZED=0</pre> | ||
− | windows | + | ===windows=== |
<pre>set NODE_TLS_REJECT_UNAUTHORIZED=0</pre> | <pre>set NODE_TLS_REJECT_UNAUTHORIZED=0</pre> | ||
− | |||
ולאחר מכן הריצו את ה node. | ולאחר מכן הריצו את ה node. |
גרסה מ־06:38, 16 במאי 2022
For English click here
למעבר מתצוגת עריכה לתצוגת קריאה
עמוד ראשי > תעודת האבטחה > התקנת תעודה בכל מוצרי node
עדכון עבור מערכות windows: בתאריך כ"ח ניסן תשע"ט / 3 במאי 2019, יצאה תוכנה חדשה להתקנת התעודה, יש להריץ התקנה מחדש של התוכנה לאחר התקנת node והתוכנה מתקינה אותה באופן אוטומטי גם עבור node.
אפשרות מומלצת
מורידים את התעודה של ספק נטפרי הנוכחי שאתם מחוברים אליו מכאן:
http://netfree.link/netfree-ca.crt
ושומרים אותה במחשב במיקום קבוע.
windows
מגדירים במחשב משתנה סביבה בשם NODE_EXTRA_CA_CERTS
, שהערך שלו הוא כתובת התעודה במחשב.
להגדרת משתנה סביבה במערכת Windows יש לכתוב בשורת הפקודה במצב מנהל:
SetX NODE_EXTRA_CA_CERTS "C:\netfree-ca.crt" /m
כמובן שיש לשנות את הנתיב C:\netfree-ca.crt
בנתיב בו שמרתם את התעודה שהורדתם.
linux
יש לפתוח את קובץ הפרופיל (/etc/profile) ולכתוב את השורה הבאה בסוף הקובץ:
export NODE_EXTRA_CA_CERTS=/path/to/netfree-ca.crt
יש להחליף את הנתיב /path/to/netfree-ca.crt
בנתיב בו שמרתם את התעודה שהורדתם, ולהפעיל חלון טרמינל חדש.
mac
צריך להגדיר משתנה סביבה לקובץ הפרופיל של סביבת שורת הפקודה שאתם משתמשים בה.
- אם אתם משתמשים ב-bash, קובץ הפרופיל נמצא בנתיב
bash_profile./~
או בנתיבbashrc./~
- אם אתם משתמשים ב-zsh (ברירת המחדל מ-Catalina 10.15 ואילך), קובץ הפרופיל נמצא בנתיב
zshenv./~
- אם אתם משתמשים ב-Oh my zsh, קובץ הפרופיל נמצא בנתיב
zshrc./~
הריצו את הפקודה הבאה בהתאמה לנתיב של קובץ הפרופיל הנוכחי שלכם, וכמובן את path/to/netfree-ca.crt/
תחליפו בנתיב שבו שמרתם את התעודה שהורדתם:
echo export NODE_EXTRA_CA_CERTS=/path/to/netfree-ca.crt >> ~/.zshenv
והפעילו חלון טרמינל חדש.
אפשרות נוספת
במקרה שההגדרה לא עובדת בגלל שזו גירסה ישנה או שמדובר ב electron בגרסה ישנה יש להוסיף את הקוד הזה בקוד שאתם כותבים:
(function(){ if(!process.env.NODE_EXTRA_CA_CERTS) return; try{ var netfreeCa = require("fs").readFileSync(process.env.NODE_EXTRA_CA_CERTS); }catch(e){ return; } var NativeSecureContext = process.binding('crypto').SecureContext; var oldaddRootCerts = NativeSecureContext.prototype.addRootCerts; NativeSecureContext.prototype.addRootCerts = function(){ var ret = oldaddRootCerts.apply(this,arguments); this.addCACert(netfreeCa); return ret; }; })();
אפשרות ביטול בדיקת אבטחה
ניתן גם לבטל את הצורך בתעודה ע"י ביטול האבטחה, בכל הרצת node ודברים מבוססים עליו (לא מומלץ כפתרון קבע):
הריצו בשורת הפקודה:
linux\mac
export NODE_TLS_REJECT_UNAUTHORIZED=0
windows
set NODE_TLS_REJECT_UNAUTHORIZED=0
ולאחר מכן הריצו את ה node.
הפעולה תעזור עבור ההרצה הנוכחית של הטרמינל בלבד.
לפתרון קבוע במקרים האלו ראו כאן.