Kvifor curl koplar til localhost i staden for den eksterne URL-en
Skil den arva proxyen, standard curlrc-fila og det faktiske målet før du gir VPN-en skulda. Tre kontrollerte køyringar held TLS-verifiseringa på.
Viss curl prøver å kopie til localhost uansett kva URL du gav han, er VPN-en feil stad å byrje. Ein lokal HTTP- eller SOCKS-proxy kan vere den tiltenkte første koplinga, sjølv når tenesta du vil ha ligg heilt ein annan stad. Viss den proxyen ikkje køyrer lenger, mislukkast localhost-forsøket før curl i det heile når målet. Eit proxysvar er heller ikkje prov på at målet svara.
Gå gjennom desse stega i rekkefølgje, og stopp ved det første som endrar det første koplingforsøket.
Les curls eigne proxyreglar først
curl les protokollspesifikke proxyvariablar som https_proxy og HTTPS_PROXY, samt ALL_PROXY når ingen protokollspesifikk verdi gjeld. Undersøk miljøet til skalet, tenesta eller oppgåva som faktisk startar curl, ikkje det i den gjeldande terminalen. Ein CI-jobb, ei systemd-eining og eit interaktivt skall kan arve tre ulike sett. Nettopp det å gjette ut frå det synlege skalet er korleis denne undersøkinga mister ein heil ettermiddag.
Eitt unntak er verdt å hugse. curl godtek http_proxy berre med små bokstavar; store bokstavar HTTP_PROXY vert ignorerte, og difor oppfører det same miljøet seg annleis i andre verktøy.
Les verdiane privat, fordi ein proxy-URL ofte ber med seg legitimasjon.
Sjekk deretter standard curl-konfigurasjonsfil for proxy- eller koplingsoverstyringar, og stadfest kva køyrbar fil du faktisk køyrer. Eit skalalias, ein funksjon eller eit wrapper-skript kan leggje til val som aldri visast på kommandolinja.
Samanlikn tre kall med TLS på
Bruk eitt godkjent diagnostisk mål og same binærfil for alle tre køyringane.
curl -v https://service.corp.example/status
curl -q -v https://service.corp.example/status
curl -q --proxy '' -v https://service.corp.example/status
-q undertrykkjer standard-curlrc og må vere den første parameteren på linja for å verke. Det fjernar ikkje proxy-miljøvariablar, noko som overraskar folk som ventar det. Den tredje forma legg til ein tom --proxy-verdi og overstyrer ein proxy miljøet bad om, berre for det kallet. Samanlikn det første koplingforsøket i kvar utskrift, ikkje den endelege statuskoden.
Detaljert utskrift kan avdekkje headers, tokens og proxy-legitimasjon, så hald det lokalt og les utdrag før du deler det.
Kva kvart resultat utelukkar
Viss det å utelate standardkonfigurasjonen endrar koplinga, er konfigurasjonsfila kjelda. Viss det å slå av den arva proxyen uttrykkjeleg endrar henne, er miljøvariabelen kjelda. Viss ingen av dei endrar henne og localhost framleis visast, sjå på overstyringar av koplinga på kommandolinja, vertsnamnoppslag og den valde køyrbare fila. Kvar av dei har ei anna retting, og ingen av dei er ei endring i rutinga.
Innlasting av eigendefinerte bibliotek eller injisert nettverksåtferd er eit seinare lag, og ein miljøvariabel åleine er ikkje prov på det.
Hald proxyavgjerda skild frå VPN-en
Når curl først vel eit direkte mål, rutar operativsystemet framleis den koplinga. Å slå av ein applikasjonsproxy slår ikkje av ruta til VPN-en eller filtreringspolicyen hans. Gjer direkte tilgang-samanlikningar berre der den diagnostikken er autorisert. Ein test som stille omgår policyen, er ikkje eit gyldig resultat, det er ein hending.
Viss ein lokal proxy er nødvendig, gjenopprett tenesta og adressa i staden for å slette innstillingane.
Viss berre utvalde private mål treng direkte tilgang, legg til eit smalt godkjent unntak og hald proxyen for alt anna. Ta vare på den første feilen frå den valde vegen, fordi ei localhost-avvising, ei proxy CONNECT-avvising, ein sertifikatfeil og ein autorisasjonsfeil viser fire ulike stadium.