הורדות בטרמינל עובדות, אבל תוספי VS Code נכשלים מאחורי VPN
curl עובד במכולה והתוסף עדיין לא מותקן. השוו בין העורך המקומי לסביבה המרוחקת לפני העתקת הגדרות פרוקסי.
הורדות שמצליחות בטרמינל של המכולה הן ראיה אמיתית על הסביבה של אותו טרמינל. הן לא אומרות דבר על תהליך העורך, על מתקין התוספים או על הקובץ הבינארי שהתוסף מוריד לאחר מכן. העתקת משתני פרוקסי בין שלושת אלה הופכת בקשה כושלת אחת לצהריים שלמים של עריכות לא קשורות.
שתי סביבות נבדלות בדרך כלל בדיוק בהיבט אחד. למצוא את ההיבט הזה מהיר יותר מלקרוא את תיעוד הפרוקסי פעמיים.
איזה תהליך שלח את הבקשה הכושלת
שלוש בקשות עלולות להיכשל במהלך התקנה אחת, ולכל אחת זהות רשת משל עצמה. העורך מבקש מ-Marketplace מטא-נתונים וכתובת חבילה, ואז מוריד את החבילה. רק לאחר מכן מריץ מארח התוספים קוד שעשוי להוריד שרת שפה או קובץ בינארי משל עצמו. השלב שנשבר הוא שקובע איזה תהליך זקוק לפרוקסי, ומשטח השגיאה ממעט לנקוב בשם השלב.
טרמינל שעובד מוכיח שהמכולה יכולה להגיע לאינטרנט, לא שהעורך יכול. קראו ביומן התוסף את הכתובת האחרונה שהוא ניסה. המארח הנקוב שם מזהה את התהליך ואת המדיניות שחלה עליו.
העורך המקומי והמכולה המרוחקת הם שתי סביבות
בסביבת עבודה מרוחקת תוסף רץ בצד שהסוג שלו מצהיר עליו. תוספי ממשק נשארים עם העורך המקומי, ותוספי סביבת עבודה רצים במכולה. פרוקסי שנקבע באחד אינו נראה לשני, ובנייה מחדש יוצרת את סביבת המכולה מקובץ התצורה שלה ולא ממה שייצאתם במעטפת. הפיצול הזה מסביר מדוע אותו תוסף מותקן במחשב נייד ונכשל באותו פרויקט דרך SSH.
קראו את מיקום ההתקנה לפני שתערכו משהו. כשהלוג מדווח על התקנה מרוחקת, סביבת המכולה היא זו שקובעת.
הציבו את הפרוקסי במקום שבו הבקשה מתחילה
עבור Dev Container שזקוק באמת לפרוקסי HTTP, המשתנה שייך לתצורת המכולה כדי שבנייה מחדש תשחזר אותו. הקטע שלהלן מגדיר אותו לאותה סביבה. כתובת מציין המקום מייצגת את השער שלכם, והחריגים אינם ריפוד אופציונלי.
"containerEnv": {
"HTTP_PROXY": "http://proxy.corp.example:8080",
"HTTPS_PROXY": "http://proxy.corp.example:8080",
"NO_PROXY": "localhost,127.0.0.1,.internal.example"
}
שם המשתנה מתאר את פרוטוקול היעד, ולכן ערך HTTPS_PROXY רשאי להתחיל ב-http באופן לגיטימי. החילו את השינוי דרך נתיב הבנייה מחדש הנתמך, ושמרו על החריגים, כי פרוקסי שמיירט מארחים פנימיים שובר שירותים שהמכולה זקוקה להם.
הפרידו בין כשלי אמון לנגישות
פרוקסי שמתחבר ואז מחזיר שגיאת אימות תעודה הגיע לשלב מאוחר יותר מפרוקסי שמסרב לחיבור. הכשל הראשון רוצה את חומר האמון המאושר של הארגון מותקן בסביבה שמבצעת את הבקשה. השני רוצה כתובת ופורט נגישים. טיפול בשניהם כבעיה אחת מייצר תיקון שלא עובד לאף אחד מהם.
השבתת האימות, או הרצת העורך בהרשאות מוגברות, אינה תיקון לפרוקסי חסר או לשרשרת אמון חסרה. שניהם מחליפים שגיאה גלויה בשקטית. נסו שוב את אותו תוסף לאחר מכן ורשמו את הכתובת הבאה שנכשלת.
env | grep -iE '^(http|https|no)_proxy='
code --install-extension ms-python.python --force
רשמו איזה צד של סביבת העבודה יצר את הכתובת הזו. הערה קצרה שמציינת את השלב, המארח והצד שווה יותר מרשימת הגדרות שמישהו שינה, כי דווקא את ההערה הזו האדם הבא יוכל לשחזר.