Váš tunel je navázaný, stránka stavu ukazuje zdravý handshake, a jedna aplikace přesto nic nenačte. Ta aplikace pravděpodobně stále posílá požadavky staršímu prostředníkovi: systémové proxy, rozšíření, konfiguračnímu souboru tlačenému správou zařízení nebo proměnné proxy, kterou čte jen její vlastní proces. Výměna VPN serveru na toto nastavení nesáhne, a to vysvětluje vzorec, kdy ostatní aplikace na stejném stroji fungují. Postupujte od selhávající aplikace ven a tunelu se nedotýkejte, dokud není otázka proxy vyřešena.

Která vrstva vlastní nastavení proxy

O autoritu nad požadavky aplikace se mohou hlásit čtyři místa a obvykle vyhraje to nejužší. Operační systém drží globální proxy a volitelnou URL automatické konfigurace; prohlížeč ji může následovat, přepsat ji nebo předat kontrolu rozšíření; nástroj příkazového řádku čte své vlastní prostředí; a spravovaná politika může kterékoli z toho po změně znovu připíchnout. Rozhodněte, která vrstva je odpovědná, než cokoli upravíte, protože vymazání špatné vrstvy vypadá jako úspěšná oprava, která se vrátí při dalším přihlášení.

Porovnejte dvě aplikace na stejném běžném webu, ne na testovací stránce určené jen pro VPN. Pokud prohlížeč selže, zatímco stahování v terminálu uspěje, operační systém není problém a rozdíl je v profilu prohlížeče nebo v jeho rozšířeních. Pokud selžou oba, ale druhý uživatelský účet na stejném stroji uspěje, je nastavení per uživatel. To porovnání stojí minutu a odstraní většinu hádání.

Přečtěte hodnotu, kterou každý nástroj skutečně používá

Vypište konfiguraci, než ji změníte, a zkopírujte přesný proxy řetězec někam, odkud jej můžete obnovit. Proměnné shellu jsou nejrychlejší kontrola pro nástroje příkazového řádku, protože klient VPN je obvykle nechává nedotčené.

env | grep -i -E 'http_proxy|https_proxy|all_proxy|no_proxy'
scutil --proxy
gsettings get org.gnome.system.proxy mode
netsh winhttp show proxy

Spusťte jen řádek, který odpovídá platformě před vámi, a pak čtěte výstup pro host, port a přihlašovací údaje. Hodnota jako http://proxy.corp.example:8080 znamená, že nástroj žádá tento host u každého požadavku, zatímco prázdný výsledek znamená, že jde přímo a skutečná závada je jinde. Před vložením výstupu do tiketu zakryjte část s uživatelem a heslem, protože tyto řetězce jsou živé přihlašovací údaje mnohem častěji, než lidé předpokládají.

Nástroje s vlastním proxy enginem potřebují vlastní důkazy. Curl uvede rozhodnutí, které učinil, když zvýšíte podrobnost, což je lepší než hádání z prostředí, a stejný přepínač ukáže, zda překlad jmen proběhl lokálně nebo na proxy.

Vymažte přepsání a znovu otestujte stejný požadavek

Změňte jednu vrstvu, pak zopakujte přesně ten požadavek, který selhal, protože jiná URL nic nedokazuje. Nejprve vymažte proměnné prostředí v aktuálním shellu, protože tato úprava je vratná a nemůže tunel rozbít:

unset http_proxy https_proxy all_proxy
curl -v --max-time 10 https://example.com 2>&1 | grep -i -E 'uses proxy|connected to|http/'

Pokud podrobný výstup stále tvrdí, že je zapojená proxy, prostředí nebylo autoritou. Posuňte se o jednu vrstvu výš, místo abyste vrstvili další přepsání.

Na macOS zkontrolujte, že hodnotu nedodává soubor automatické konfigurace, pak vypněte proxy služby a změnu potvrďte. Na Windows si pamatujte, že nastavení WinHTTP a nastavení prohlížeče pro uživatele jsou různé objekty, takže čistý nástroj příkazového řádku může koexistovat s prohlížečem, který stále míří na starý server. Rozšíření si zaslouží stejnou nedůvěru: proxy rozšíření může přepisovat požadavky jen pro jeden profil, a to je přesně podoba závady, která postihne jeden prohlížeč a nic jiného.

Ověřte, že oprava přežije restart

Nastavení, které funguje jen v terminálu, který jste upravili, není opravené. Znovu otevřete aplikaci ze spouštěče na ploše, odhlaste se a znovu přihlaste a sledujte, zda se stará proxy vrací.

Dvě kontroly oddělují skutečnou opravu od dočasné a obě by měly hlásit přímé připojení nebo zamýšlenou hodnotu. Spuštění v čistém prostředí ukáže, zda očištěný proces stále přebírá systémové nastavení.

env -i /usr/bin/curl -sS -o /dev/null -w '%{http_code} %{remote_ip}
' https://example.com
networksetup -getwebproxy "Wi-Fi"

Pokud se stará hodnota po restartu vrátí, zdrojem je spravovaná politika nebo profil, který ji znovu aplikuje, a vlastník této politiky musí výjimku odstranit. Nechte ověřování certifikátů po celou dobu zapnuté, protože proxy, které zachytává provoz, bude jinak vypadat vyřešené, jakmile kontroly vypnete. Na konci zapište odstraněnou hodnotu a datum do poznámek, aby další člověk rozeznal zamýšlenou proxy od zapomenuté.

Související články