407 pas proxy-t VPN të korporatës: npm, Maven dhe VS Code
407 do të thotë që proxy kërkon kredenciale, jo që regjistri ka rënë. Konfiguroni npm, Maven, VS Code dhe kontejnerët, dhe përjashtoni hostet e brendshme.
Faqja e brendshme që hapet në shfletues dëshmon vetëm se proxy funksionon për shfletuesin, jo për npm ose Maven. Çdo klient lexon konfigurimin e vet, dhe një rrjet i arritshëm vetëm përmes VPN shton një pyetje të dytë: a e arrin klienti proxy-n fare. Filloni me kodin e statusit dhe më pas ndiqni zinxhirin e konfigurimit të mjetit që dështoi. Prandaj një klient funksionon ndërsa fqinji i tij jo.
Çfarë dëshmon vërtet një 407
407 Proxy Authentication Required vjen nga proxy, jo nga regjistri apo depoja. Klienti arriti proxy-n dhe proxy refuzoi kërkesën, zakonisht sepse kredencialet mungonin, ishin keqformuar ose nuk pranoheshin për atë destinacion.
Skadimi i kohës tregon një histori tjetër: adresë proxy e gabuar, asnjë rrugë drejt proxy para se të ngrihet tuneli, ose një zë anashkalimi që mungon për një host të brendshëm. Lexoni tekstin e gabimit përpara se të ndryshoni kredencialet.
Verifikoni hostin, portin, skemën e autentikimit dhe nëse emri i përdoruesit kërkon prefiks domeni. Më pas kontrolloni nëse mjeti e lexon vlerën nga një skedar, nga një variabël mjedisi apo nga të dyja. Një emër me domen është shkak i zakonshëm i 407, ashtu si një fjalëkalim i ruajtur me kodim të gabuar.
npm lexon zinxhirin e vet të konfigurimit
npm pranon çelësat proxy dhe https-proxy në një .npmrc të përdoruesit ose të projektit. Përcaktoni skemën, sepse vlerat janë URL, dhe kodoni karakteret e rezervuara të fjalëkalimit që shenja at të mos e ndajë vlerën.
proxy=http://proxy.example.com:8080
https-proxy=http://proxy.example.com:8080
strict-ssl=true
Me npm config list shihni cili skedar dha çdo vlerë efektive. Një export shell si npm_config_proxy mund ta anulojë skedarin, dhe një .npmrc projekti me fjalëkalim personal nuk duhet të commit-ohet kurrë. Printoni rrugën e burimit bashkë me vlerën.
Lëreni strict-ssl të aktivizuar. Një proxy që inspekton TLS mund të kërkojë CA-n e korporatës në depon e besimit; çaktivizimi i verifikimit për të anashkaluar gabimin fsheh problemin e vërtetë të besimit.
Maven i ndan proxy-t nga pasqyrat
Maven lexon proxy-t dhe pasqyrat nga skedari i cilësimeve të përdoruesit, jo nga pom i projektit. Vendosni proxy-t e rrjetit dhe pasqyrat e depos së brendshme në ~/.m2/settings.xml, dhe lërini deklaratat publike në projekt.
Blloku i proxy kërkon një id, një flamur aktiviteti, protokollin, hostin dhe portin, si dhe një zë nonProxyHosts për depon e brendshme. Mbajini këto fusha në skedarin e përdoruesit, jo në pom, që një ndryshim rrjeti të mos rishkruajë build-in e të gjithë ekipit.
Shtoni depon e brendshme te nonProxyHosts që Maven të lidhet drejtpërdrejt. Pa atë zë proxy bëhet një ndalesë e panevojshme dhe dështimi duket si ndërprerje e depos. Zëri i pasqyrës tregon depon e brendshme dhe nuk zëvendëson cilësimin e proxy.
Zhvilluesit që lëvizin midis rrjeteve mund të mbajnë një skedar cilësimesh për çdo rrjet dhe të zgjedhin kopjen e duhur kur nis shell-i. Editimi me dorë i një skedari në çdo kalim e kthen një laptop që funksionon në një biletë mbështetjeje.
VS Code dhe kontejnerët dev kanë hapësira emrash të ndryshme
VS Code lexon http.proxy nga cilësimet e përdoruesit ose të hapësirës së punës, përfshirë skemën dhe portin. Kjo mbulon kërkesat e editorit për shtesa dhe marketplace, por nuk konfiguron një terminal apo një kontejner të nisur nga editori. Kontrolloni shtrirjen e cilësimit dhe vlerën. Një cilësim i hapësirës së punës mund të anulojë atë të përdoruesit për një projekt.
Një kontejner dev ka hapësirën e vet të emrave të rrjetit. Nuk trashëgon variablat e proxy të hostit apo rrugën VPN, prandaj një thirrje drejt marketplace mund të dështojë brenda kontejnerit ndërsa e njëjta thirrje funksionon në host.
Jepini kontejnerit ato variabla, ose jepini resolver dhe rrugë të vetën. Kur emrat zgjidhen brenda, por proxy nuk përgjigjet kurrë, pjesa që mungon zakonisht është rruga, jo adresa.
Listat e anashkalimit dhe përparësia e mjedisit
Shtoni portën VPN, regjistrat e brendshëm dhe prapashtesat private DNS në listën e anashkalimit. Nëse klienti përpiqet të arrijë portën përmes proxy para se tuneli të ekzistojë, lidhja dështon në një mënyrë që duket si ndërprerje e proxy. Testojeni këtë me tunelin poshtë.
Variablat e mjedisit dhe skedarët mund të mos pajtohen. Ekzekutoni dump-in e konfigurimit të mjetit, jo atë të shell-it, dhe krahasoni vlerat. Një variabël e dyfishtë me shkronja të vogla, një vlerë e vjetër në një shell prind ose një skedar projekti mund të mbizotërojnë cilësimin që sapo ndryshuat.
Në CI kaloni proxy si variabël sekrete dhe testoni instalimin e një pakete në të njëjtin image. Një 407 brenda një kontejneri shpesh do të thotë që variabla thjesht mungon atje, ndërsa shell-i i hostit e ka.
Shënoni hostin dhe portin e proxy, prapashtesat e anashkalimit dhe skedarin ose variabël që i jep ato për çdo mjet. Kur një klient kthen 407 dhe një tjetër funksionon, ai shënim e kthen krahasimin e katër konfigurimeve në një kontroll të shkurtër.