גישה ישירה מרחוק

גישה ישירה מתחברת למאזיני HTTP/HTTPS של CodeNomad באמצעות סיסמת השרת שלו. היא נפרדת מ־שליטה מרחוק: צימוד אינו דורש האזנה ב־LAN או יציאה נכנסת, ואף נתיב אינו עובר בשקט לאחר כחלופה.

בחירת נתיב גישה

נתיב מה עליכם לנהל
דפדפן באותו מחשב השאירו האזנת loopback; השתמשו בכתובת המקומית המודפסת.
LAN או VPN האזינו בממשק נגיש, הגבילו את חומת האש ללקוחות המיועדים והשתמשו ב־HTTPS מהימן. VPN אינו מגדיר עבורכם את מאזין CodeNomad.
העברת SSH השאירו את שרת הקצה בהאזנת loopback; העבירו את היציאה המודפסת בפועל. המנהרה מגינה על התעבורה אך אינה מחליפה אימות CodeNomad.
מתווך הפוך השאירו את שרת הקצה בממשק פרטי/loopback; סיימו TLS מהימן במתווך, הגנו על המקטע לשרת שמאחוריו ותמכו ב־SSE ארוך־חיים ובכל WebSocket שנדרש לכלי הגישה הישירה שלכם.
שליטה מרחוק צמדו את המכשיר מהמארח; ראו שליטה מרחוק לממשק המצומצם יותר ולמשך החיים שלה.

האזנה אינה יוצרת כללי חומת אש, העברת יציאות, DNS או VPN. אל תפרסמו מאזין HTTP לא מאומת לאינטרנט. שורש סביבת עבודה אינו ארגז חול אבטחתי; קראו אבטחה לפני חשיפת השרת.

הפעלת גישה ישירה

  1. במארח, פתחו הגדרות → גישה מרוחקת והרחיבו גישה ישירה (רשת מקומית, מתקדם).
  2. תחת סיסמת שרת, בחרו הגדר סיסמה או שנה סיסמה, הזינו סיסמה חדשה ו־אשר סיסמה, ואז שמור סיסמה. סיסמאות שסופקו בזמן ריצה אינן ניתנות לשינוי כאן; ראו אבטחה.
  3. הפעילו אפשר חיבורים מכתובות IP אחרות תחת מצב האזנה. קראו את אזהרת ההפעלה מחדש ובחרו הפעל מחדש עכשיו רק כשתהיו מוכנים להפרעה הזמנית.
  4. לאחר ההפעלה מחדש, השתמשו ב־רענן ובדקו כתובות נגישות. פתחו את כתובת ה־HTTPS הנגישה במכשיר האחר, או בחרו הצג QR במארח וסרקו אותו במכשיר האחר, ואז התחברו.

הדבר משנה את מצב ההאזנה הישירה של המארח, לא פרויקט אחד ולא שליטה מרחוק. הסעיף נפתח אוטומטית כשהשרת מאזין מעבר ל־localhost. אם הפעלה מחדש אוטומטית אינה זמינה, הפעילו את CodeNomad מחדש ידנית; פריסות עצמאיות חייבות להגדיר בעקביות את --host בעת ההפעלה. להסרת חשיפה, כבו את המתג והפעילו מחדש, או הפעילו מחדש את ה־CLI בהאזנת loopback. הדבר אינו מבטל מכשירים מצומדים לשליטה מרחוק.

טבלת האזנה

ברירת המחדל של --host היא 127.0.0.1; localhost מנורמל לכתובת זו. הכללים הבאים חלים על המאזינים המופעלים:

הפעלה/מצב HTTP מאזין ב־ HTTPS מאזין ב־
עצמאי, HTTPS בלבד (ברירת מחדל) מאזין loopback פרטי בלבד (ראו להלן) --host
עצמאי, HTTP בלבד --host, לרבות כתובת LAN/כל הממשקים לא מופעל
עצמאי, שני מאזינים 127.0.0.1 ללא תלות ב־--host --host
שרת קצה מקורי לשולחן העבודה מאזין HTTP שלו נשאר ב־127.0.0.1, לרבות המאזין הפנימי במארח --host כש־HTTPS מופעל

כל שרת קצה שומר גם מאזין HTTP ב־127.0.0.1 עבור תוספי OpenCode שמגיעים עם CodeNomad עצמו, כגון משימות. כש־HTTP לא התבקש, או כשמאזין ה־HTTP המבוקש מאזין בכתובת שאינה 127.0.0.1 או 0.0.0.0, שרת הקצה מוסיף מאזין HTTP פרטי ביציאה אקראית של 127.0.0.1. הוא לעולם אינו מודפס או מוצע ככתובת חיבור, אינו נגיש ממחשבים אחרים ומגיש את אותו יישום מאומת.

כתובת LAN מסוימת אינה חייבת לקבל חיבורי loopback. 0.0.0.0 פירושו כל ממשקי IPv4; :: הוא מאזין כללי דו־מחסניתי. השתמשו בכתובת נגישה ממשית בדפדפן, לא בכתובת כללית. מזהי אזור IPv6 אינם נתמכים ב־--host.

לפריסת HTTPS עצמאית, הגדירו סיסמה באמצעות נוהל האתחול, ואז הריצו:

codenomad --host 0.0.0.0 --https=true --http=false

ל־HTTP ב־loopback בלבד, למשל מאחורי מתווך מקומי מהימן:

codenomad --host 127.0.0.1 --https=false --http=true

אל תניחו יציאה 9898 או 9899: יציאות שלא צוינו יכולות להתחלף כשהן תפוסות. --https-port מפורש שאינו אפס, או --http-port כש־HTTP מופעל, מקבעים את היציאה ונכשלים אם אי אפשר להאזין בה; 0 מבקש ממערכת ההפעלה להקצות אחת. Local Connection URL ו־Remote Connection URL המודפסות, ו־כתובות נגישות לאחר רענון, הן הסמכות לאותה הרצה. ראו מדריך CLI המלא לשרת.

הגדרת TLS מהימן

אספקת תעודה משלכם

  1. השיגו תעודה שה־Subject Alternative Names ‏(SANs) שלה כוללים את שם המארח או כתובת ה־IP שהלקוחות משתמשים בהם בפועל.
  2. ספקו גם --tls-key <path> וגם --tls-cert <path> כקובצי PEM. הוסיפו --tls-ca <path> אם הפריסה דורשת שרשרת/חבילת CA.
  3. הפעילו מחדש את CodeNomad ואמתו את התעודה ואת כתובת ה־HTTPS המודפסת ממכשיר הלקוח.

קובצי תעודה מותאמים נקראים בהפעלה ולעולם אינם נכתבים מחדש בידי CodeNomad. החידוש וההפעלה מחדש הנדרשת לטעינת קבצים מחודשים הם באחריותכם. --tlsSANs מגדיר תעודות שנוצרות; אינו יכול להוסיף שמות לתעודה שסופקה. הגנו על מפתחות פרטיים ותנו אמון רק בתעודות שאת זהות המארח שלהן אימתתם.

שימוש ב־CA המקומי שנוצר

כש־HTTPS פעיל ולא סופק זוג מפתח/תעודה, CodeNomad יוצר CA מקומי ותעודת שרת תחת בסיס התצורה:

קובץ מטרה
tls/ca-cert.pem תעודת CA ציבורית להפצה מאובטחת ללקוחות שבניהולכם.
tls/ca-key.pem מפתח CA פרטי; לעולם אל תפיצו.
tls/server-cert.pem תעודת שרת.
tls/server-key.pem מפתח שרת פרטי; לעולם אל תפיצו.
  1. הוסיפו כל שם DNS/כתובת IP הפונים ללקוח באמצעות --tlsSANs "host.example.test,192.0.2.10". האזנה בכל הממשקים אינה מגלה את כל כתובות ה־LAN שלכם עבור SANs.
  2. הפעילו מחדש את שרת הקצה כדי ליצור/לבדוק מחדש את התעודה.
  3. אמתו את המארח/ה־CA בערוץ מהימן, ואז ייבאו רק את תעודת ה־CA למאגר האמון של כל לקוח/דפדפן מיועד. לחלופין השתמשו בתעודה מהימנה ציבורית או במתווך TLS הפוך.

תעודת השרת שנוצרת תקפה ל־30 יום. בהפעלה היא מתחדשת בשלושת הימים שלפני תפוגתה, כשחסרים SANs נדרשים, כשהתעודה נכשלת בבדיקות או כשקובץ המפתח הפרטי חסר. ה־CA שנוצר תקף ל־365 יום ומוחלף כשפג, כשהתעודה שלו נכשלת בבדיקות או כשקובץ המפתח הפרטי שלו חסר; החלפתו גם מנפיקה מחדש את תעודת השרת. מפתחות פרטיים קיימים פגומים, בלתי קריאים או לא תואמים אינם מתוקנים אוטומטית. לקוחות חייבים לתת אמון ב־CA החלופי. אין חידוש רציף בתוך התהליך: תכננו הפעלה מחדש מכוונת לפני התפוגה בפריסות ארוכות־חיים.

אם לקוח מדווח על אזהרת תעודה, עצרו ובדקו את שם המארח, ה־SANs, מאגר האמון והתפוגה. אל תשביתו אימות ואל תהפכו אישור אזהרות בלחיצה לנוהל הפריסה. HTTPS מהימן נדרש גם לתכונות דפדפן מרוחקות כגון התקנת PWA וגישה למיקרופון.

שמירת שרת מרוחק

  1. בדף הבית בשולחן העבודה, בחרו התחבר לשרת CodeNomad. אותו כפתור מופיע בלשונית שרתים ריקה וב־הגדרות → גישה מרוחקת → שרתים.
  2. ב־התחבר לשרת, הזינו שם השרת ו־כתובת השרת עם מקור HTTPS מהימן. השאירו את דלג על אימות TLS עבור תעודות בחתימה עצמית. לא מסומן; הגדירו אמון במקום זאת.
  3. בחרו שמור לסימנייה, או התחבר לשמירה ולפתיחה. התחברו באותו שרת.

בחרו שרת שמור בלשונית שרתים בדף הבית כדי לפתוח אותו שוב. סימניות שייכות לתצורת CodeNomad זו, לא לפרויקטי השרת המרוחק. שמירת כתובת אינה מפעילה שרת או מעניקה גישה. הסר שרת שמור מסיר את הסימנייה, לא שיחות מרוחקות, את שרת הקצה או את פרטי ההתחברות שלו.

לשליטה מרחוק, הדביקו במקום זאת קישור צימוד חדש ב־כתובת השרת. הסימנייה שומרת רק את מקור המנהרה, לעולם לא את קוד הצימוד החד־פעמי; ראו שליטה מרחוק לצימוד מחדש לאחר אובדן עוגיית המכשיר.