Authless Browser Proxy Auth nu este o rută VPN
Un VPN direcționează browserul către proxy; nu poate răspunde la 407 proxy-ului. Verificați separat selecția, provocarea și calea reală de rețea a jobului.
Un VPN poate transporta traficul unui browser către un server proxy și poate lăsa browserul în imposibilitatea de a utiliza acel proxy, deoarece o rută și o acreditare sunt lucruri diferite. Automatizarea fără cap face decalajul mai greu de văzut, deoarece nu există nicio fereastră și nicio solicitare de observare. Eșecul apare de obicei ca o blocare sau o eroare de navigare generică, iar primul instinct este să dai vina pe tunel. Lista de verificare de mai jos separă cele patru lucruri care trebuie să fie adevărate înainte ca o solicitare fără cap printr-un proxy autentificat să poată avea succes.
Două conversații, două acreditări
Au loc două conversații și aparțin unor părți diferite. Browserul se conectează mai întâi la ascultătorul proxy, care îl poate contesta pentru acreditări; apoi proxy-ul realizează sau permite conexiunea ulterioară la destinație. Un VPN poate duce primul pas fără a fi punctul final care provoacă browserul și nu are nimic de spus despre al doilea.
HTTP 407 este semnalul pe care clientul trebuie să se autentifice pentru cererea de proxy, transportată în Proxy-Authenticate cu răspunsul așteptat în Proxy-Authorization. Aceasta nu este autentificarea site-ului de destinație, iar amestecarea celor două este cea mai comună sursă de confuzie aici.
Deci, cele patru verificări sunt: ce proxy a selectat de fapt browserul, cine răspunde la 407, în ce rețea se află procesul browserului și cum este furnizată acreditările fără un om. Fiecare poate eșua independent și fiecare eșec arată similar din exterior. Lucrați-le în ordine, deoarece o verificare ulterioară nu poate compensa una anterioară. Un proxy care nu a fost selectat niciodată nu poate fi autentificat, iar o acreditare care există doar pe laptopul dvs, nu poate ajunge la un container.
Verificați 1: care proxy este de fapt selectat
Începeți cu selecția, deoarece un browser care ignoră setarea dvs, de proxy nu ajunge niciodată la provocare. În Chrome, steag este --proxy-server=proxy.example:3128 , cu --proxy-bypass-list pentru excluderi, iar Selenium expune același lucru prin opțiunile browserului său. Un fișier PAC este un mecanism diferit cu propriile moduri de eșec.
Apoi confirmați din interiorul mediului browserului care rulează, mai degrabă decât din shell. O sondă independentă cu același proxy este curl -x http://proxy.example:3128 -v https://example.com , iar rezultatul său pronunțat arată dacă CONNECT a reușit, ce Proxy-Authenticate a revenit și dacă un 407 a fost returnat. Dacă curl primește un 407 și browserul se blochează, calea acreditării este mai degrabă problema decât rețeaua. Dacă curl reușește și browserul nu, browserul nu folosește proxy-ul pe care îl crezi.
Verificați 2: cine răspunde la 407
Un 407 are un proprietar, iar denumirea acestuia decide unde se duce remedierea. Dacă provocarea vine de la proxy-ul corporativ, soluția este o acreditare pe care browserul o poate prezenta nesupravegheat. Dacă provine de la un proxy din amonte către care primul îl transmite, acreditările aparțin acelui al doilea hop și primul proxy poate transmite provocarea neschimbată. Citiți domeniul de autentificare și gazdă în antetul Proxy-Authenticate, deoarece numesc caseta care solicită.
Păstrați această distincție în orice ați înregistra. O provocare proxy, o conexiune ulterioară refuzată, o conectare la un site web și un timeout de transport VPN sunt patru erori diferite cu patru proprietari diferiți și un mesaj de eroare generic distruge informațiile de care aveți nevoie.
Verificați 3: calea acreditării
Acreditarea în sine este locul în care se întrerup cele mai multe setări nesupravegheate. Selenium poate seta o gazdă și un port proxy, dar autentificarea proxy HTTP nu este o parte portabilă a acelei configurații, iar acreditările din adresa URL a proxy-ului nu sunt un mecanism pe care să te poți baza în browsere și versiuni de driver. Opțiunile acceptate sunt cele care documentează stiva dvs, reală: o extensie de browser care răspunde provocării, un proxy de redirecționare local care adaugă antetul și este accesibil doar de la job sau un proxy care autentifică volumul de lucru prin alte mijloace. Alegeți unul în mod deliberat și verificați-l în comparație cu browserul, driverul și versiunile Selenium pe care le veți rula.
Păstrați acreditările departe de locurile care o scurg. Liniile de comandă sunt vizibile în listele de procese, capturile de ecran ajung în rapoartele de testare, urmele browserului și anteturile de captură a fișierelor HAR, iar configurarea testului angajat este pentru totdeauna. Utilizați mecanismul de livrare secretă al jobului și regulile sale de redactare și extindeți contul proxy la destinațiile sau rolul de care are nevoie.
Dacă organizația oferă o rută VPN directă permisă în loc de un proxy obligatoriu, comparați cele două modele în mod explicit. Nu dezactivați în liniște proxy-ul și nu imitați autentificarea altui client pentru a ocoli politica.
Verificați 4: contextul de rețea al procesului browserului
Acesta este cecul pe care oamenii îl opresc. Un browser lansat de un lucrător, un container sau un nod Selenium Grid la distanță utilizează rețeaua acelui mediu, astfel încât conexiunea VPN a laptopului și variabilele proxy ale shell-ului descriu o cale pe care browserul nu o poate atinge niciodată.
Înregistrați cinci fapte pentru jobul eșuat: gazda browserului, proxy-ul configurat, calea de rezolvare inițială, ruta selectată și proprietarul autentificării. Apoi faceți o solicitare autorizată inofensivă din acel context exact, cu verificarea TLS a destinației normale și autorizarea aplicației rămase activate. Un browser fără cap care pornește cu succes nu dovedește nici admiterea proxy, nici acoperirea VPN, iar o captură de ecran a unei pagini goale nu dovedește nimic. Solicitarea care returnează 200 prin întregul lanț este singura dovadă care contează.
Fluxul de lucru final are trei proprietăți care merită verificate ca set. Există o rută acceptată de la gazda browserului la proxy, o politică intermediară explicită care numește proxy-ul și destinațiile și un ciclu de viață a acreditărilor care nu depinde de un operator care răspunde la o solicitare invizibilă. Dacă oricare dintre cele trei depinde de o persoană, locul de muncă nu este încă nesupravegheat, indiferent ce spune codul de ieșire. Notați cele cinci fapte înainte ca următoarea persoană să moștenească conducta.