Терминалдағы жүктеулер жұмыс істейді, бірақ VPN арқылы VS Code кеңейтімдері орнатылмайды
curl контейнерде жұмыс істейді, ал кеңейтім әлі де орнатылмайды. Прокси параметрлерін көшіруден бұрын жергілікті редактор мен қашықтағы ортаны салыстырыңыз.
Контейнер терминалында сәтті аяқталған жүктеулер сол терминалдың ортасы туралы нақты дәлел. Олар редактор процесі, кеңейтім орнатушысы немесе кеңейтім кейін жүктейтін бинарлық файл туралы ештеңе айтпайды. Осы үшеуінің арасында прокси айнымалыларын көшіру бір сәтсіз сұранысты бүкіл түстен кейінгі байланысы жоқ өңдеулерге айналдырады.
Екі орта әдетте дәл бір жағынан ерекшеленеді. Сол жағын табу прокси құжаттамасын екі рет оқудан жылдамырақ.
Сәтсіз сұранысты қай процесс жасады
Бір орнату кезінде үш сұраныс сәтсіз аяқталуы мүмкін және әрқайсысының өз желілік сәйкестігі бар. Редактор Marketplace-тен метадеректер мен пакет URL-ін сұрайды, содан кейін пакетті жүктейді. Тек осыдан кейін кеңейтім хосты тіл серверін немесе өзінің бинарлық файлын жүктеуі мүмкін кодты іске қосады. Қай кезең бұзылғаны қай процеске прокси керектігін анықтайды, ал қате беті бұл кезеңді сирек атайды.
Жұмыс істейтін терминал контейнердің интернетке шыға алатынын дәлелдейді, редактордың шыға алатынын емес. Кеңейтім журналынан оның соңғы әрекет еткен URL-ін оқыңыз. Онда аталған хост процесті және оған қолданылатын саясатты анықтайды.
Жергілікті редактор мен қашықтағы контейнер — екі орта
Қашықтағы жұмыс кеңістігінде кеңейтім өз түрі мәлімдеген жақта іске қосылады. Интерфейс кеңейтімдері жергілікті редактормен қалады, ал жұмыс кеңістігі кеңейтімдері контейнерде жұмыс істейді. Бірінде орнатылған прокси екіншісіне көрінбейді, ал қайта құру контейнер ортасын оның конфигурация файлынан жасайды, shell-де экспорттағаныңыздан емес. Бұл бөліну сол кеңейтімнің ноутбукте неге орнатылып, сол жобада SSH арқылы неге сәтсіз болатынын түсіндіреді.
Бірдеңені өңдеуден бұрын орнату орнын оқыңыз. Журнал қашықтағы орнатуды хабарлағанда, маңыздысы — контейнер ортасы.
Проксиді сұраныс басталатын жерге қойыңыз
Шынымен HTTP прокси қажет Dev Container үшін айнымалы контейнер конфигурациясында болуы керек, сонда қайта құру оны қайта жасайды. Төмендегі үзінді оны сол орта үшін орнатады. Орынбасар мекенжай өз шлюзіңізді білдіреді, ал ерекшеліктер міндетті емес толтырғыш емес.
"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-мен басталуы мүмкін. Өзгерісті қолдау көрсетілетін қайта құру жолымен қолданыңыз және ерекшеліктерді сақтаңыз, өйткені ішкі хосттарды ұстайтын прокси контейнерге қажет қызметтерді бұзады.
Сенім ақауларын қолжетімділіктен бөліңіз
Қосылып, содан кейін сертификатты тексеру қатесін қайтаратын прокси қосылыстан бас тартатын проксиге қарағанда кейінгі кезеңге жетті. Бірінші ақауға ұйымның мақұлданған сенім материалы сұранысты орындайтын ортада орнатылуы қажет. Екіншісіне қолжетімді мекенжай мен порт қажет. Екеуін бір мәселе ретінде қарау ешқайсысына жарамайтын түзету шығарады.
Тексеруді өшіру немесе редакторды жоғары құқықтармен іске қосу жоқ прокси немесе жоқ сенім тізбегі үшін жөндеу емес. Екеуі де көрінетін қатені үнсіз қатеге айырбастайды. Содан кейін сол кеңейтімді қайталап көріңіз және сәтсіз болатын келесі URL-ді белгілеңіз.
env | grep -iE '^(http|https|no)_proxy='
code --install-extension ms-python.python --force
Жұмыс кеңістігінің қай жағы сол URL-ді жасағанын жазып қойыңыз. Кезеңді, хостты және жақты атайтын қысқа жазба біреудің өзгерткен параметрлерінің тізімінен құндырақ, өйткені келесі адам дәл сол жазбаны қайталай алады.