PAC failo adresas ir tarpinio serverio galinis taškas konfigūracijos faile atrodo keičiami, bet nėra. Vienas yra politikos programa, kurią reikia įvertinti kiekvienam URL; kitas yra mazgas ir prievadas, priimantis jungtis. curl supranta tik antrąjį. PAC adreso perdavimas --proxy yra kategorijos klaida, kuri nepavyksta painiai, dažniausiai po ilgo CONNECT laukimo į žiniatinklio serverį.

Kas iš tikrųjų yra kiekvienas

Jūs turiteKas taiKą curl su tuo daro
http://wpad.corp.example/proxy.pacJavaScript, kuris nurodytam URL grąžina tarpinį serverį arba tiesioginį ryšįAtsisiunčia jį kaip failą ir ten sustoja
http://proxy.corp.example:8080Klausytojas, priimantis užklausas per tarpinį serverįNaudoja jį, įskaitant CONNECT HTTPS tikslams

Tai aiškiai sako curl DUK: curl nesiūlo JavaScript ar PAC interpretacijos. Apvalkalas aplink curl, suprantantis PAC, gali tai daryti, bet pats curl ne, ir jokia vėliavėlė nepaverčia jo naršykle.

Kodėl naršyklė veikia, o curl ne

Naršyklė integruojasi su sistemos tarpinio serverio konfigūracija, atsisiunčia PAC failą ir vykdo jo taisykles jūsų atidaromam URL. Tas vertinimas yra paslauga, kurią teikia PAC failas, ir jis vyksta naršyklės viduje, o ne jūsų terminale.

PAC failo atsisiuntimas su curl gauna tik jo tekstą. Tai neverčia curl vykdyti politikos, o rankinis skaitymas ieškant tarpinio serverio yra to paties vertinimo rankinė versija, su tokia pačia tikimybe pasirinkti neteisingą šaką. Jei vis dėlto skaitote, skaitykite return sakinį, atitinkantį jūsų mazgą, o ne pirmąjį tarpinio serverio pavadinimą faile. Daugumoje PAC failų jų būna keli, ir tik viena šaka galioja jums.

Patvirtintam HTTP tarpiniam serveriui ir patvirtintai HTTPS paslaugai iliustracinė užklausa yra:

curl --proxy http://proxy.corp.example:8080 https://service.example.net/status

Pirmasis adresas yra tarpinio serverio klausytojas, antrasis – norima paslauga. Tai pavyzdiniai galiniai taškai, o ne kažkieno atliktas testas, todėl pakeiskite juos savo organizacijos schema, prievadu ir autentifikavimo eiga.

Pasirinkite tarpinį serverį šiam tikslui

Paklauskite administratoriaus, kurį tarpinį serverį politika parenka reikiamam URL, o ne kokį tarpinį serverį turi organizacija. PAC taisyklės gali grąžinti skirtingus rezultatus vidinėms paslaugoms, viešoms svetainėms ir perjungimo gedimo atvejais, o taisyklė, kuri šiandien atitinka jūsų URL, po pakeitimo gali atitikti kitą.

Jei darbo eigai reikia daugiau nei vienos žinomos užklausos, naudokite administratoriaus palaikomą statinį nustatymą arba patvirtintą PAC suprantančią integraciją. Vieno nukopijuoto adreso užkodavimas veikia iki dienos, kai politika pasikeis ir niekas nebeprisimins, kodėl buvo pasirinktas tas adresas.

Tada pažiūrėkite, ką curl paveldi. Tarpinio serverio aplinkos kintamieji ir NO_PROXY gali nepaisyti arba išskirti perduotą tarpinį serverį, o išskyrimas, atitinkantis jūsų tikslą, tyliai siunčia užklausą tiesiogiai. Išsaugokite numatytą politiką, o ne trinkite kiekvieną išskyrimą ar verskite viską per vieną adresą. Vykdykite užklausą kartą su -v ir patikrinkite, prie kurio adreso ji iš tikrųjų prisijungė.

Laikykite dvi TLS tapatybes atskirai

Naudojant HTTPS tarpinį serverį, veikia dvi TLS jungtys: jūsų į tarpinį serverį ir serverio į tikslą. Kiekviena turi savo tapatybę, kurią reikia patikrinti, o patikros išjungimas bet kuriai iš jų nėra PAC pataisa, tai antra problema, pridėta prie pirmos.

Palikite patikrą įjungtą ir perskaitykite gautą klaidą. Tarpinio serverio autentifikavimo iššūkis, nepasiekiamas tarpinis serveris ir svetainės atsisakymas yra trys skirtingi rezultatai, ir tik pirmasis susijęs su kredencialais. VPN vis tiek turi suteikti leistiną kelią į privatų tarpinį serverį, įskaitant paties tarpinio serverio mazgo vardų sprendimą, prieš bet kam iš to pavykstant.

Užsirašykite galinį tašką, schemą, prievadą, autentifikavimo metodą, išskyrimus ir VPN kelią iki tarpinio serverio. Būtent šis įrašas daro kitą užklausą atkartojamą, ir tai yra skirtumas tarp savo tarpinio serverio pažinojimo ir spėliojimo apie jį.

Susiję straipsniai