Gumagana ang mga download sa terminal, ngunit nabigo ang mga extension ng VS Code sa VPN
Gumagana ang curl sa container at hindi pa rin naka-install ang extension. Ihambing ang lokal na editor at ang malayong environment bago kopyahin ang mga setting ng proxy.
Ang mga download na nagtatagumpay sa terminal ng container ay tunay na ebidensya tungkol sa environment ng terminal na iyon. Wala silang sinasabi tungkol sa proseso ng editor, installer ng extension, o binary na kinukuha ng extension mamaya. Ang pagkopya ng mga proxy variable sa pagitan ng tatlong iyon ay ginagawang isang buong hapon ng walang kaugnayang pagbabago ang isang bigong request.
Karaniwang nagkakaiba ang dalawang environment sa eksaktong isang aspeto. Ang paghahanap sa aspetong iyon ay mas mabilis kaysa sa dalawang beses na pagbasa ng dokumentasyon ng proxy.
Aling proseso ang gumawa ng bigong request
Tatlong request ang maaaring mabigo sa isang installation, at bawat isa ay may sariling network identity. Hinihiling ng editor sa Marketplace ang metadata at package URL, pagkatapos ay dinownload ang package. Pagkatapos lamang nito ay pinapatakbo ng extension host ang code na maaaring kumuha ng language server o sariling binary. Ang yugtong nasira ang nagtatakda kung aling proseso ang nangangailangan ng proxy, at bihirang pangalanan ng error surface ang yugtong iyon.
Ang gumaganang terminal ay nagpapatunay na maaaring makarating ang container sa internet, hindi na ang editor ay makarating. Basahin ang log ng extension para sa huling URL na sinubukan nito. Ang host na pinangalanan doon ang tumutukoy sa proseso at sa patakarang naaangkop dito.
Ang lokal na editor at malayong container ay dalawang environment
Sa malayong workspace, tumatakbo ang extension sa panig na idinideklara ng uri nito. Nananatili ang mga interface extension sa lokal na editor, at tumatakbo ang mga workspace extension sa container. Ang proxy na itinakda sa isa ay hindi nakikita ng isa, at ang muling pagbuo ay muling nililikha ang environment ng container mula sa configuration file nito, hindi mula sa in-export mo sa shell. Ipinapaliwanag ng paghahating iyon kung bakit ang parehong extension ay naka-install sa laptop at nabigo sa parehong proyekto sa pamamagitan ng SSH.
Basahin ang lokasyon ng installation bago mag-edit ng anuman. Kapag nag-uulat ang log ng malayong installation, ang environment ng container ang mahalaga.
Ilagay ang proxy kung saan nagsisimula ang request
Para sa isang Dev Container na talagang nangangailangan ng HTTP proxy, kabilang ang variable sa configuration ng container upang muling likhain ito ng rebuild. Itinatakda ito ng fragment sa ibaba para sa environment na iyon. Ang placeholder address ay kumakatawan sa iyong sariling gateway, at ang mga exclusion ay hindi opsyonal na padding.
"containerEnv": {
"HTTP_PROXY": "http://proxy.corp.example:8080",
"HTTPS_PROXY": "http://proxy.corp.example:8080",
"NO_PROXY": "localhost,127.0.0.1,.internal.example"
}
Inilalarawan ng pangalan ng variable ang patutunguhang protocol, kaya ang isang HTTPS_PROXY value ay lehitimong maaaring magsimula sa http. Ilapat ang pagbabago sa sinusuportahang rebuild path, at panatilihin ang mga exclusion, dahil ang proxy na humaharang sa mga internal host ay sumisira sa mga serbisyong kailangan ng container.
Paghiwalayin ang mga kabiguan ng pagtitiwala sa maabot
Ang proxy na kumokonekta at pagkatapos ay nagbabalik ng error sa pagpapatunay ng certificate ay umabot sa mas huling yugto kaysa sa isang tumatanggihan sa koneksyon. Ang unang kabiguan ay nangangailangan ng aprubadong trust material ng organisasyon na naka-install sa environment na gumagawa ng request. Ang pangalawa ay nangangailangan ng maabot na address at port. Ang pagtrato sa kanila bilang isang problema ay gumagawa ng pagtatama na hindi gumagana para sa alinman.
Ang pag-disable ng verification, o pagpapatakbo ng editor nang may mataas na pribilehiyo, ay hindi pagtatama para sa nawawalang proxy o nawawalang trust chain. Parehong ipinagpapalit nila ang nakikitang error sa tahimik. Subukan muli ang parehong extension pagkatapos at itala ang susunod na URL na mabibigo.
env | grep -iE '^(http|https|no)_proxy='
code --install-extension ms-python.python --force
Itala kung aling panig ng workspace ang gumawa ng URL na iyon. Ang maikling tala na nagpangalan ng yugto, host at panig ay mas mahalaga kaysa sa listahan ng mga setting na binago ng isang tao, dahil ang talang iyon ang maaaring muling gawin ng susunod na tao.