A konténer termináljában sikeres letöltések valódi bizonyítékok az adott terminál környezetéről. Semmit sem mondanak a szerkesztő folyamatáról, a bővítménytelepítőről vagy arról a bináris fájlról, amelyet a bővítmény később letölt. A proxyváltozók másolása e három között egyetlen sikertelen kérést egy egész délutánnyi, oda nem tartozó módosítássá alakít.

Két környezet általában pontosan egy dologban tér el. Ezt megtalálni gyorsabb, mint kétszer elolvasni a proxy dokumentációját.

Melyik folyamat indította a sikertelen kérést

Egyetlen telepítés alatt három kérés is elbukhat, és mindegyiknek saját hálózati identitása van. A szerkesztő metaadatokat és csomag-URL-t kér a Marketplace-től, majd letölti a csomagot. Csak ezután futtat a bővítménygazda olyan kódot, amely nyelvi szervert vagy saját bináris fájlt tölthet le. Hogy melyik szakasz tört el, eldönti, melyik folyamatnak kell proxy, és a hiba felülete ritkán nevezi meg a szakaszt.

A működő terminál azt bizonyítja, hogy a konténer eléri az internetet, nem azt, hogy a szerkesztő is. Olvassa ki a bővítmény naplójából az utolsó megkísérelt URL-t. Az ott megnevezett gazda azonosítja a folyamatot és a rá vonatkozó házirendet.

A helyi szerkesztő és a távoli konténer két környezet

Távoli munkaterületen a bővítmény azon az oldalon fut, amelyet a típusa deklarál. A felületi bővítmények a helyi szerkesztőnél maradnak, a munkaterületi bővítmények pedig a konténerben futnak. Az egyikben beállított proxy láthatatlan a másik számára, és az újraépítés a konténer környezetét a konfigurációs fájljából hozza létre, nem abból, amit egy shellben exportált. Ez a kettősség magyarázza, miért települ ugyanaz a bővítmény egy laptopra, és miért bukik el ugyanabban a projektben SSH-n keresztül.

Olvassa el a telepítési helyet, mielőtt bármit szerkesztene. Amikor a napló távoli telepítést jelez, a konténer környezete a mérvadó.

Oda tegye a proxyt, ahol a kérés elindul

Egy Dev Container esetében, amelynek valóban HTTP-proxyra van szüksége, a változó a konténer konfigurációjába tartozik, hogy az újraépítés újratermelje. Az alábbi részlet beállítja azt az adott környezethez. A helyőrző cím a saját átjáróját képviseli, a kivételek pedig nem választható kitöltőanyagok.

"containerEnv": {
  "HTTP_PROXY": "http://proxy.corp.example:8080",
  "HTTPS_PROXY": "http://proxy.corp.example:8080",
  "NO_PROXY": "localhost,127.0.0.1,.internal.example"
}

A változó neve a célprotokollt írja le, ezért egy HTTPS_PROXY-érték jogosan kezdődhet http-vel. Alkalmazza a módosítást a támogatott újraépítési úton, és tartsa meg a kivételeket, mert a belső gazdákat elfogó proxy elrontja a konténer által igényelt szolgáltatásokat.

Válassza szét a bizalmi hibákat az elérhetőségtől

Az a proxy, amely csatlakozik, majd tanúsítvány-ellenőrzési hibát ad vissza, későbbi szakaszig jutott, mint amelyik elutasítja a kapcsolatot. Az első hiba az szervezet jóváhagyott bizalmi anyagát kéri a kérést végrehajtó környezetbe telepítve. A második elérhető címet és portot kér. Ha egyetlen problémaként kezeljük őket, olyan javítás születik, amely egyiknek sem működik.

Az ellenőrzés kikapcsolása vagy a szerkesztő emelt jogosultságokkal való futtatása nem javítás hiányzó proxyra vagy hiányzó bizalmi láncra. Mindkettő látható hibát cserél csendesre. Ezután próbálja újra ugyanazt a bővítményt, és jegyezze fel a következő sikertelen URL-t.

env | grep -iE '^(http|https|no)_proxy='
code --install-extension ms-python.python --force

Jegyezze fel, a munkaterület melyik oldala állította elő azt az URL-t. Egy rövid jegyzet a szakasszal, a gazdával és az oldallal többet ér, mint a valaki által módosított beállítások listája, mert éppen ezt a jegyzetet tudja a következő ember reprodukálni.

Kapcsolódó cikkek