curl neprečíta váš súbor PAC: odovzdajte namiesto neho proxy
PAC je JavaScriptová politika; curl chce koncový bod. Zistite, ktorú proxy politika vyberá pre vašu URL, odovzdajte ju a sledujte NO_PROXY a TLS.
Adresa súboru PAC a koncový bod proxy vyzerajú v konfiguračnom súbore zameniteľne, ale nie sú. Jedno je program politiky, ktorý sa musí vyhodnotiť pre každú URL; druhé je hostiteľ a port, ktorý prijíma spojenia. curl rozumie len druhému. Odovzdanie adresy PAC do --proxy je kategoriálna chyba, ktorá zlyhá zmätočným spôsobom, zvyčajne po dlhom čakaní na CONNECT k webovému serveru.
Čo je v skutočnosti každé z nich
| Máte | Čo to je | Čo s tým curl robí |
|---|---|---|
http://wpad.corp.example/proxy.pac | JavaScript, ktorý pre danú URL vráti proxy alebo priame spojenie | Stiahne ho ako súbor a tam sa skončí |
http://proxy.corp.example:8080 | Poslucháč, ktorý prijíma požiadavky cez proxy | Použije ho, vrátane CONNECT pre ciele HTTPS |
To jasne hovorí FAQ o curl: curl neposkytuje interpretáciu JavaScriptu ani PAC. Obal okolo curl, ktorý rozumie PAC, to môže robiť, ale samotný curl nie, a žiadny prepínač z neho nerobí prehliadač.
Prečo prehliadač funguje a curl nie
Prehliadač sa integruje so systémovým nastavením proxy, stiahne súbor PAC a spustí jeho pravidlá proti URL, ktorú otvárate. Toto vyhodnotenie je služba, ktorú súbor PAC poskytuje, a odohráva sa vnútri prehliadača, nie vo vašom termináli.
Stiahnutie súboru PAC pomocou curl získa len jeho text. Neprinúti curl vykonať politiku, a ručné čítanie kvôli nájdeniu proxy je ručnou verziou toho istého vyhodnotenia s rovnakou šancou vybrať nesprávnu vetvu. Ak ho čítate, čítajte príkaz return, ktorý zodpovedá vášmu hostiteľovi, nie prvý názov proxy v súbore. Väčšina súborov PAC ich obsahuje niekoľko a len jedna vetva sa vás týka.
Pre schválenú proxy HTTP a schválenú službu HTTPS je ilustratívna požiadavka táto:
curl --proxy http://proxy.corp.example:8080 https://service.example.net/status
Prvá adresa je poslucháč proxy, druhá je služba, ktorú chcete. To sú príkladové koncové body, nie test, ktorý niekto vykonal, takže ich nahraďte schémou, portom a postupom overovania vašej organizácie.
Vyberte proxy pre tento cieľ
Opýtajte sa správcu, ktorú proxy politika vyberá pre URL, ktorú potrebujete, nie ktorú proxy organizácia vlastní. Pravidlá PAC môžu vracať rôzne výsledky pre interné služby, verejné weby a stavy prepnutia pri výpadku, a pravidlo, ktoré dnes zodpovedá vašej URL, môže po úprave zodpovedať inej.
Ak pracovný postup potrebuje viac ako jednu známu požiadavku, použite statické nastavenie podporované správcom alebo schválenú integráciu, ktorá rozumie PAC. Zapevnenie jednej skopírovanej adresy funguje do dňa, keď sa politika zmení a nikto si už nepamätá, prečo bola tá adresa vybratá.
Potom sa pozrite, čo curl dedí. Premenné prostredia proxy a NO_PROXY môžu prepísať alebo vylúčiť proxy, ktorú ste odovzdali, a vylúčenie zodpovedajúce vášmu cieľu pošle požiadavku potichu priamo. Zachovajte zamýšľanú politiku, namiesto vymazania každého vylúčenia alebo hnaním všetkého cez jednu adresu. Spustite požiadavku raz s -v a skontrolujte, na ktorú adresu sa skutočne pripojil.
Držte obe identity TLS oddelene
Pri proxy HTTPS sú v hre dve spojenia TLS: vaše k proxy a spojenie proxy k cieľu. Každé má vlastnú identitu na overenie a vypnutie overovania pre ktorékoľvek z nich nie je oprava PAC, ale druhý problém pridaný k prvému.
Nechajte overovanie zapnuté a prečítajte si chybu, ktorú dostanete. Výzva na overenie proxy, nedostupná proxy a odmietnutie webom sú tri rôzne výsledky a len prvý sa týka prihlasovacích údajov. VPN stále musí zabezpečiť povolenú cestu k súkromnej proxy, vrátane prekladu názvov pre samotného hostiteľa proxy, skôr než čokoľvek z toho uspeje.
Zapíšte koncový bod, schému, port, metódu overovania, vylúčenia a cestu VPN k proxy. Práve tento záznam robí ďalšiu požiadavku reprodukovateľnou a je rozdielom medzi znalosťou vašej proxy a hádaním o nej.