Sukcesa intraneta paĝo en la retumilo pruvas nur, ke la prokurilo funkcias por la retumilo, ne por npm aŭ Maven. Ĉiu kliento legas sian propran agordon, kaj reto atingebla nur per VPN aldonas duan demandon: ĉu la kliento entute atingas la prokurilon. Komencu per la statuskodo, poste sekvu la agordan ĉenon de la ilo, kiu malsukcesis. Tial unu kliento funkcias, dum la najbara ne.

Kion 407 vere pruvas

407 Proxy Authentication Required venas de la prokurilo, ne de la registro aŭ la konservejo. La kliento atingis la prokurilon, kaj la prokurilo rifuzis la peton, kutime ĉar legitimiloj mankis, estis mise formatitaj aŭ ne akceptitaj por tiu celo.

Tempo elĉerpiĝo rakontas alion: malĝusta prokurila adreso, neniu vojo al la prokurilo antaŭ ol la tunelo ekzistas, aŭ mankanta preterira enskribo por interna gastiganto. Legu la erartekston antaŭ ol ŝanĝi legitimilojn.

Kontrolu gastiganton, pordon, aŭtentigan skemon kaj ĉu la salutnomo bezonas domajnan prefikson. Poste kontrolu, ĉu la ilo legas la valoron el dosiero, el media variablo aŭ el ambaŭ. Domajna salutnomo estas ofta kaŭzo de 407, same kiel pasvorto konservita kun malĝusta kodigo.

npm legas sian propran agordan ĉenon

npm akceptas la ŝlosilojn proxy kaj https-proxy en .npmrc de uzanto aŭ projekto. Indiku la skemon, ĉar la valoroj estas URL-oj, kaj kodigu rezervitajn signojn en la pasvorto, por ke la signo at ne dividu la valoron.

proxy=http://proxy.example.com:8080
https-proxy=http://proxy.example.com:8080
strict-ssl=true

Per npm config list vi vidas, kiu dosiero donis ĉiun efektivan valoron. Ŝela eksporto kiel npm_config_proxy povas superregi la dosieron, kaj projekta .npmrc kun persona pasvorto neniam estu enmetita. Presu la originan vojon kune kun la valoro.

Lasu strict-ssl ŝaltita. Prokurilo, kiu inspektas TLS, povas postuli la entreprenan CA en la fido-tenejo; malŝalti la kontrolon por preterpasi la eraron kaŝas la veran fido-problemon.

Maven apartigas prokurilojn de speguloj

Maven legas prokurilojn kaj spegulojn el la agorda dosiero de la uzanto, ne el la pom de la projekto. Metu retspecifajn prokurilojn kaj spegulojn de la interna konservejo en ~/.m2/settings.xml, kaj lasu publikajn deklarojn en la projekto.

La prokurila bloko bezonas identigilon, aktivan flagon, protokolon, gastiganton kaj pordon, kaj enskribon nonProxyHosts por la interna konservejo. Tenu tiujn kampojn en la uzanta dosiero, ne en la pom, por ke reta ŝanĝo ne reskribu la konstruon de la tuta teamo.

Aldonu la internan konservejon al nonProxyHosts por rekta konekto. Sen tio la prokurilo fariĝas nenecesa halto kaj la fiasko aspektas kiel interrompo de konservejo. Spegula enskribo montras al la interna konservejo kaj ne anstataŭas la prokurilan agordon.

Programistoj, kiuj moviĝas inter retoj, povas teni unu agordan dosieron por ĉiu reto kaj elekti la ĝustan kopion ĉe ŝela starto. Mane redakti unu dosieron ĉe ĉiu transiro igas funkciantan tekkomputilon subtena bileto.

VS Code kaj dev-ujoj havas malsamajn nomspacojn

VS Code legas http.proxy el uzantaj aŭ laborspacaj agordoj, inkluzive de skemo kaj pordo. Tio kovras la petojn de la redaktilo al kromaĵoj kaj la vendoplaco, sed ne agordas terminalon nek ujon lanĉitan el la redaktilo. Kontrolu la amplekson de la agordo kaj la valoron. Laborspaca agordo povas superregi la uzantan por unu projekto.

Dev-ujo havas propran retan nomspacon. Ĝi ne heredas la prokurilajn variablojn de la gastiganto nek ĝian VPN-vojon, tial voko al la vendoplaco povas malsukcesi en la ujo, dum la sama voko funkcias sur la gastiganto.

Donu al la ujo tiujn variablojn, aŭ propran solvilon kaj vojon. Kiam nomoj solviĝas interne sed la prokurilo neniam respondas, mankas kutime la vojo, ne la adreso.

Preteriraj listoj kaj prioritato de la medio

Aldonu la VPN-pordegon, internajn registrejojn kaj privatajn DNS-sufiksojn al la preterira listo. Se la kliento provas atingi la pordegon tra la prokurilo antaŭ ol la tunelo ekzistas, la konekto fiaskas kvazaŭ la prokurilo estus malsupre. Testu tion kun mallevita tunelo.

Mediaj variabloj kaj dosieroj povas malkonsenti. Rulu la agordan elspezon de la ilo, ne tiun de la ŝelo, kaj komparu la valorojn. Duobla variablo minuskle, malnova valoro en patra ŝelo aŭ projekta dosiero povas superregi la ĵus ŝanĝitan agordon.

En CI pasigu la prokurilon kiel sekretan variablon kaj testu instaladon de unu pako en la sama bildo. 407 en ujo ofte signifas, ke la variablo simple mankas tie, dum la ŝelo de la gastiganto havas ĝin.

Notu gastiganton, pordon, preterirajn sufiksojn kaj la dosieron aŭ variablon, kiu donas ilin, por ĉiu ilo. Kiam unu kliento redonas 407 kaj alia funkcias, tiu noto transformas komparon de kvar agordoj en mallongan kontrolon.

Rilataj artikoloj