Sieť VPN môže prenášať návštevnosť prehliadača na server proxy a stále prehliadač nemôže používať tento server proxy, pretože trasa a poverenie sú odlišné veci. Bezhlavá automatizácia sťažuje viditeľnosť medzery, pretože tu nie je žiadne okno ani výzva na spozorovanie. Zlyhanie sa zvyčajne prejavuje ako zamrznutie alebo všeobecná chyba navigácie a prvým inštinktom je obviňovať tunel. Nižšie uvedený kontrolný zoznam oddeľuje štyri veci, ktoré musia byť pravdivé, aby mohla bezhlavá požiadavka prostredníctvom overeného servera proxy uspieť.

Dva rozhovory, dve poverenia

Uskutočnia sa dva rozhovory, ktoré patria rôznym stranám. Prehliadač sa najskôr pripojí k načúvaciemu zariadeniu proxy, ktorý ho môže vyzvať na získanie poverení; proxy potom vytvorí alebo povolí ďalšie pripojenie k cieľu. Sieť VPN môže niesť prvú časť bez toho, aby bola koncovým bodom, ktorý vyzýva prehliadač, a nemá čo povedať o druhej.

HTTP 407 je signál, že klient sa musí autentifikovať pre požiadavku proxy prenášanú v Proxy-Authenticate s odpoveďou očakávanou v Proxy-Authorization. Toto nie je prihlasovacie meno cieľovej webovej stránky a ich zmiešanie je najbežnejším zdrojom zmätku.

Štyri kontroly sú teda: ktorý proxy prehliadač skutočne vybral, kto odpovedá na 407, v ktorej sieti je proces prehliadača a ako sú poverenia doručené bez človeka. Každý môže zlyhať nezávisle a každé zlyhanie vyzerá zvonku podobne. Spracujte ich v poradí, pretože neskoršia kontrola nemôže kompenzovať skoršiu kontrolu. Proxy, ktorý nebol nikdy vybratý, nie je možné overiť a poverenie, ktoré existuje iba na vašom notebooku, sa nemôže dostať do kontajnera.

Skontrolujte 1: ktorý proxy je skutočne vybratý

Začnite výberom, pretože prehliadač, ktorý ignoruje vaše nastavenie servera proxy, nikdy nedosiahne výzvu. V prehliadači Chrome je príznakom --proxy-server=proxy.example:3128 , so --proxy-bypass-list pre vylúčenia a Selenium odhaľuje to isté prostredníctvom možností prehliadača. Súbor PAC je odlišný mechanizmus s vlastnými režimami zlyhania.

Potom potvrďte zvnútra prostredia spusteného prehliadača, nie z vášho shellu. Nezávislá sonda s rovnakým proxy je curl -x http://proxy.example:3128 -v https://example.com a jej podrobný výstup ukazuje, či CONNECT bolo úspešné, aké Proxy-Authenticate sa vrátilo a či sa vrátilo 407. Ak curl dostane 407 a prehliadač sa zablokuje, problémom je skôr cesta poverení ako sieť. Ak curl uspeje a prehliadač nie, prehliadač nepoužíva server proxy, o ktorom si myslíte, že ho používa.

Skontrolujte 2: kto odpovie na 407

407 má vlastníka a jeho pomenovanie rozhoduje o tom, kam sa oprava dostane. Ak výzva pochádza z podnikového servera proxy, opravou je poverenie, ktoré môže prehliadač predložiť bez dozoru. Ak pochádza z upstream proxy, ktorému prvý preposiela, poverenie patrí tomuto druhému skoku a prvý proxy môže prenášať výzvu nezmenenú. Prečítajte si rozsah autentifikácie a hostiteľa v hlavičke Proxy-Authenticate, pretože pomenúvajú pole, ktoré sa pýta.

Zachovajte tento rozdiel vo všetkom, čo prihlásite. Výzva proxy, odmietnuté ďalšie pripojenie, prihlásenie na webovú stránku a časový limit prenosu VPN sú štyri rôzne zlyhania so štyrmi rôznymi vlastníkmi a jedna všeobecná chybová správa zničí informácie, ktoré potrebujete.

Skontrolujte 3: cestu poverení

Samotné poverenie je miesto, kde sa väčšina bezobslužných nastavení pokazí. Selenium môže nastaviť hostiteľa a port proxy, ale autentifikácia HTTP proxy nie je prenosnou súčasťou tejto konfigurácie a poverenia v adrese URL proxy nie sú mechanizmom, na ktorý sa môžete spoľahnúť v rôznych prehliadačoch a verziách ovládačov. Podporované možnosti sú tie, ktoré sú vo vašich skutočných zásobníkových dokumentoch: rozšírenie prehliadača, ktoré odpovedá na výzvu, lokálny proxy server na presmerovanie, ktorý pridáva hlavičku a je dostupný iba z úlohy, alebo proxy, ktorý overuje pracovné zaťaženie inými prostriedkami. Vyberte si jeden zámerne a porovnajte ho s presnými verziami prehliadača, ovládača a Selenium, ktoré budete spúšťať.

Poverenie uchovávajte mimo miest, kde dochádza k jeho úniku. Príkazové riadky sú viditeľné vo výpisoch procesov, screenshoty skončia v testovacích správach, sledy prehliadača a HAR súbory zachytávajú hlavičky a konfigurácia potvrdeného testu je navždy. Použite mechanizmus tajného doručovania úlohy a jej pravidlá redigovania a nastavte proxy účet na miesta určenia alebo rolu, ktorú potrebuje.

Ak organizácia ponúka povolenú priamu cestu VPN namiesto povinného servera proxy, explicitne porovnajte tieto dva návrhy. Nevypínajte proxy server potichu ani nenapodobňujte autentifikáciu iného klienta, aby ste obišli politiku.

Skontrolujte 4: vlastný sieťový kontext procesu prehliadača

Toto je kontrola, ktorú ľudia preskočia. Prehliadač spustený pracovníkom, kontajnerom alebo vzdialeným uzlom Selenium Grid využíva sieť tohto prostredia, takže pripojenie VPN vášho notebooku a premenné proxy vášho shellu opisujú cestu, ktorej sa prehliadač nikdy nedotkne.

Zaznamenajte päť faktov pre zlyhávajúcu úlohu: hostiteľa prehliadača, nakonfigurovaný proxy server, počiatočnú cestu prekladača, vybratú cestu a vlastníka autentifikácie. Potom urobte jednu neškodnú autorizovanú požiadavku presne z tohto kontextu, pričom normálne cieľové overenie TLS a autorizácia aplikácie zostane zapnutá. Bezhlavý prehliadač, ktorý sa úspešne spustí, nepreukazuje ani prijatie proxy, ani pokrytie VPN a snímka obrazovky prázdnej stránky nedokazuje vôbec nič. Požiadavka, ktorá vracia 200 cez celý reťazec, je jediným dôkazom, ktorý sa počíta.

Hotový pracovný postup má tri vlastnosti, ktoré sa oplatí skontrolovať ako súbor. Existuje podporovaná cesta od hostiteľa prehliadača k proxy, explicitná sprostredkovateľská politika, ktorá pomenúva proxy a ciele a životný cyklus poverení, ktorý nezávisí od operátora odpovedajúceho na neviditeľnú výzvu. Ak niektorá z týchto troch možností závisí od osoby, práca ešte nie je bez dozoru, nech už je v výstupnom kóde čokoľvek. Zapíšte si päť faktov predtým, ako ďalšia osoba zdedí potrubie.

Súvisiace články