curl nepřečte váš soubor PAC: předejte místo něj proxy
PAC je JavaScriptová politika; curl chce koncový bod. Zjistěte, kterou proxy politika pro vaši URL vybírá, předejte ji a hlídejte NO_PROXY a TLS.
Adresa souboru PAC a koncový bod proxy vypadají v konfiguračním souboru zaměnitelně, ale nejsou. Jedno je program politiky, který se musí vyhodnotit pro každou URL; druhé je hostitel a port, který přijímá spojení. curl rozumí jen druhému. Předat adresu PAC do --proxy je kategoriální chyba, která selže matoucím způsobem, obvykle po dlouhém čekání na CONNECT k webovému serveru.
Co je ve skutečnosti každé z nich
| Máte | Co to je | Co s tím curl dělá |
|---|---|---|
http://wpad.corp.example/proxy.pac | JavaScript, který pro danou URL vrátí proxy nebo přímé spojení | Stáhne jej jako soubor a tam skončí |
http://proxy.corp.example:8080 | Posluchač, který přijímá požadavky přes proxy | Použije jej, včetně CONNECT pro cíle HTTPS |
To jasně říká FAQ o curl: curl neposkytuje interpretaci JavaScriptu ani PAC. Obal kolem curl, který PAC rozumí, to umět může, ale samotný curl ne, a žádný přepínač z něj neudělá prohlížeč.
Proč prohlížeč funguje a curl ne
Prohlížeč se propojuje se systémovým nastavením proxy, stáhne soubor PAC a spustí jeho pravidla proti URL, kterou otevíráte. Toto vyhodnocení je služba, kterou soubor PAC poskytuje, a odehrává se uvnitř prohlížeče, ne ve vašem terminálu.
Stažení souboru PAC pomocí curl získá jen jeho text. Nepřinutí curl politiku vykonat, a ruční čtení kvůli nalezení proxy je ruční verzí stejného vyhodnocení se stejnou šancí vybrat špatnou větev. Pokud jej čtete, čtěte příkaz return, který odpovídá vašemu hostiteli, ne první název proxy v souboru. Většina souborů PAC jich obsahuje několik a jen jedna větev se vás týká.
Pro schválenou proxy HTTP a schválenou službu HTTPS je ilustrativní požadavek tento:
curl --proxy http://proxy.corp.example:8080 https://service.example.net/status
První adresa je posluchač proxy, druhá je služba, kterou chcete. To jsou příkladové koncové body, ne test, který někdo provedl, takže je nahraďte schématem, portem a postupem ověřování vaší organizace.
Vyberte proxy pro tento cíl
Zeptejte se správce, kterou proxy politika vybírá pro URL, kterou potřebujete, ne kterou proxy organizace vlastní. Pravidla PAC mohou vracet různé výsledky pro interní služby, veřejné weby a stavy přepnutí při výpadku, a pravidlo, které dnes odpovídá vaší URL, může po úpravě odpovídat jiné.
Pokud pracovní postup potřebuje více než jeden známý požadavek, použijte statické nastavení podporované správcem nebo schválenou integraci, která rozumí PAC. Zapevnění jedné zkopírované adresy funguje do dne, kdy se politika změní a nikdo si už nepamatuje, proč byla tato adresa vybrána.
Pak se podívejte, co curl dědí. Proměnné prostředí proxy a NO_PROXY mohou přebít nebo vyloučit proxy, kterou jste předali, a vyloučení odpovídající vašemu cíli pošle požadavek potichu přímo. Zachovejte zamýšlenou politiku, místo abyste mazali každé vyloučení nebo všechno hnali přes jednu adresu. Spusťte požadavek jednou s -v a zkontrolujte, na kterou adresu se skutečně připojil.
Držte obě identity TLS oddělené
U proxy HTTPS jsou ve hře dvě připojení TLS: vaše k proxy a spojení proxy k cíli. Každé má vlastní identitu k ověření a vypnutí ověřování u kterékoli z nich není oprava PAC, ale druhý problém přidaný k prvnímu.
Nechte ověřování zapnuté a přečtěte si chybu, kterou dostanete. Výzva k ověření proxy, nedostupná proxy a odmítnutí webem jsou tři různé výsledky a jen první se týká přihlašovacích údajů. VPN stále musí zajistit povolenou cestu k privátní proxy, včetně překladu názvů pro samotného hostitele proxy, než cokoli z toho uspěje.
Zapište koncový bod, schéma, port, metodu ověření, vyloučení a cestu VPN k proxy. Právě tento záznam dělá další požadavek reprodukovatelným a je rozdílem mezi znalostí vaší proxy a hádáním o ní.