407 efter de bedriuws-VPN-proxy: npm, Maven en VS Code
In 407 betsjut dat de proxy ynloggegevens wol, net dat it register del is. Stel npm, Maven, VS Code en containers yn en slút ynterne hosts út.
Dat de ynternetside fan it bedriuw yn de browser iepent, bewiist allinnich dat de proxy foar de browser wurket, net foar npm of Maven. Elke klient lêst syn eigen konfiguraasje, en in netwurk dat allinnich fia VPN te berikken is, smyt in twadde fraach op: oft de klient de proxy wol berikt. Begjin mei de statuskoade en folgje dan de konfiguraasjekeating fan it helpmiddel dat mislearre. Dêrom wurket ien klient wylst de buorman mislearret.
Wat 407 echt bewiist
407 Proxy Authentication Required komt fan de proxy, net fan it register of de opslach. De klient berikte de proxy en dy wegere it fersyk, meast omdat ynloggegevens ûntbrutsen, ferkeard fan foarm of net akseptearre wiene foar dat doel.
In time-out fertelt wat oars: ferkeard proxyadres, gjin rûte nei de proxy foardat de tunnel stiet, of in bypass-regel foar in ynterne host dy’t mist. Lês de flertekst foardat jo ynloggegevens feroarje.
Kontrolearje proxyhost, poarte, autentikaasjemetoade en oft de brûkersnamme in domeinprefiks nedich hat. Sjoch dan oft it helpmiddel de wearde út in bestân, in omjouwingsfariabele of beide lêst. In namme mei domein is in faak foarkommende oarsaak fan 407, likegoed as in wachtwurd dat mei ferkearde kodearring bewarre is.
npm lêst syn eigen konfiguraasjekeating
npm akseptearret de kaaiens proxy en https-proxy yn in .npmrc fan brûker of projekt. Jou it skema, want de wearden binne URL’s, en kodearje reservearre tekens yn it wachtwurd, sadat in at-teken de wearde net splitst.
proxy=http://proxy.example.com:8080
https-proxy=http://proxy.example.com:8080
strict-ssl=true
Mei npm config list sjogge jo hokker bestân elke effektive wearde levere. In shell-export lykas npm_config_proxy kin it bestân oerskriuwe, en in projekt-.npmrc mei in persoanlik wachtwurd moat nea committed wurde. Printsje it boarnepaaltsje mei de wearde.
Lit strict-ssl oanstean. In proxy dy’t TLS ynspektearret kin it bedriuws-CA yn de fertrouwensopslach freegje; ferifikaasje útskeakelje om de flater te omgean ferberget it echte fertrouwensprobleem.
Maven skiedt proxys fan spegels
Maven lêst proxys en spegels út it ynstellingsbestân fan de brûker, net út de pom fan it projekt. Set netwurkproxys en spegels fan it ynterne repository yn ~/.m2/settings.xml, en lit iepenbiere repositoryferklearrings yn it projekt.
It proxyblok hat in id, in aktive flagge, it protokol, host en poarte, en in nonProxyHosts-regel foar it ynterne repository nedich. Hâld dy fjilden yn it brûkersbestân, net yn de pom, sadat in netwurkferoaring de build fan it hiele team net oerskriuwt.
Foegje it ynterne repository ta oan nonProxyHosts, sadat Maven direkt ferbynt. Sûnder dy regel wurdt de proxy in needich tuskenstop en liket de flater op in repository-útfal. In spegelregel wiist nei it ynterne repository en ferfangt de proxyynstelling net.
Untwikkelers dy’t tusken netwurken bewege, kinne ien ynstellingsbestân per netwurk hâlde en by it starten fan de shell de goede kopy kieze. Ien bestân by elke oergong mei de hân bewurkje makket fan in wurkjende laptop in stipekaart.
VS Code en dev-containers hawwe ferskate nammeromten
VS Code lêst http.proxy út brûker- of wurkromte-ynstellingen, mei skema en poarte. Dat dekt de oanfreg fan de editor oan útwreidings en de marketplace, mar konfigurearret gjin terminal of container dy’t út de editor start wurdt. Kontrolearje it berik fan de ynstelling en de wearde. In wurkromte-ynstelling kin de brûkersynstelling foar ien projekt oerskriuwe.
In dev-container hat syn eigen netwurknammeromte. Hy erft de proxyfariabelen fan de host en de VPN-rûte net, dêrom kin in marketplace-oprop yn de container mislearje wylst deselde oprop op de host wurket.
Jou de container dy fariabelen, of jou him in eigen resolver en rûte. As nammen binnen oplost wurde mar de proxy nea antwurdet, mist meast de rûte, net it adres.
Bypasslisten en foarrang fan de omjouwing
Foegje de VPN-gateway, ynterne registers en privee DNS-suffiksen ta oan de bypasslist. As de klient de gateway fia de proxy berikke wol foardat de tunnel bestiet, mislearret de ferbining sa’t it op in proxy-útfal liket. Test dat mei de tunnel del.
Omjouwingsfariabelen en bestannen kinne fan elkoar ôfwike. Draai de konfiguraasjedump fan it helpmiddel, net dy fan de shell, en fergelykje de wearden. In dûbele fariabele mei lytse letters, in âlde wearde yn in âldershell of in projektbestân kinne de krekt bewurke ynstelling oerwinne.
Yn CI jouwe jo de proxy as in geheime fariabele en testje jo ien pakketynstallaasje yn deselde image. In 407 yn in container betsjut faak dat de fariabele dêr gewoan mist, wylst de shell fan de host him hat.
Skriuw proxyhost, poarte, bypass-suffiksen en it bestân of de fariabele dy’t se jouwt op foar elk helpmiddel. As ien klient 407 weromjout en in oare wurket, makket dat oantekening fan de fergeliking fan fjouwer konfiguraasjes in koarte kontrôle.