HTTP 407 alebo 401: ktoré prihlásenie zlyháva?
Rozlíšte overovanie proxy a webu, skontrolujte správne hlavičky a neposielajte prihlasovacie údaje nesprávnemu účastníkovi.
407 žiada overenie na proxy. 401 žiada overenie pre cieľový prostriedok. Jedna požiadavka môže naraziť na oba, preto pred zadaním hesla zistite, kto ho žiada.
Porovnajte stav a hlavičky overovacej výzvy
| Odpoveď | Hlavička výzvy | Hlavička prihlasovacích údajov | Účastník |
|---|---|---|---|
| 407 Proxy Authentication Required | Proxy-Authenticate | Proxy-Authorization | Sprostredkujúca proxy |
| 401 Unauthorized | WWW-Authenticate | Authorization | Overovací postup pôvodného prostriedku |
Stav je zásadná prvá stopa, ale pozrite celý priebeh. Číslo 407 v texte stránky nie je skutočná HTTP 407 odpoveď. Vlastná prihlasovacia stránka môže rovnako vrátiť 200 a pritom žiadať overenie na aplikačnej úrovni.
Prečo môže HTTPS zlyhať s 407 ešte pred dosiahnutím webu
Pri prenose HTTPS cez bežnú HTTP proxy klient zvyčajne najprv požiada o vytvorenie tunela CONNECT. Proxy môže pre túto požiadavku CONNECT vyžiadať overenie. Ak sa nedokončí, TLS relácia s cieľom cez tunel ešte nevznikla. Zmena API tokenu webu preto tento krok pravdepodobne neopraví.
Podrobným výstupom zistite, kde sa výzva objaví:
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/
Nahraďte miestne počúvajúce rozhranie vlastným a prečítajte prvú výzvu v protokole. 407 počas CONNECT prichádza pred cieľovým TLS; neskoršie 401 môže nasledovať po úspešnom vytvorení tunela.
Údaje proxy poskytujte cez rozhranie pre proxy
Pre koncový bod a účet od dôveryhodného správcu môže curl dohodnúť schému overovania proxy a vyžiadať chýbajúce heslo:
curl --proxy http://proxy.example:8080 --proxy-anyauth --proxy-user alice https://example.com/
Nahraďte ukážkový koncový bod a používateľa údajmi služby, ktorú smiete používať. Uvedenie iba používateľa zabráni heslu priamo vo vyššie uvedenom príkaze. Podporované metódy sa líšia podľa zostavenia curl a proxy; pri neúspešnej dohode skontrolujte skutočnú výzvu a možnosti zostavenia.
Voľba overovania proxy je oddelená od voľby curl pre používateľa pôvodného servera. Nepridávajte hlavičku Authorization pre pôvodný server namiesto odpovede na výzvu proxy. Ani ručne neposúvajte hlavičky s údajmi proxy nesúvisiacim požiadavkám a neukladajte ich do hlavičiek zdieľaných celou aplikáciou.
Ak proxy stále vracia 407
- Overte, že používate zamýšľaného hostiteľa a port proxy.
- Skontrolujte schémy ponúkané proxy namiesto predpokladu Basic.
- Overte stav účtu a požadovaný formát používateľského mena.
- Skontrolujte prenos zvláštnych znakov, ak sú údaje vložené do URL.
- Zistite, či podnikové overovanie integrované v prehliadači potrebuje podporu behového prostredia alebo platformy.
- Ak údaje klienta nestačia, požiadajte správcu o identifikátor požiadavky alebo serverový záznam zbavený citlivých údajov.
403 alebo odmietnuté CONNECT môže vyplývať z prístupových pravidiel aj po úspešnom prihlásení. Ďalšie pokusy s heslami neumožnia prístup k zakázanému cieľu.
HTTPS cieľa nechráni každú výmenu prihlasovacích údajov proxy
Overenie proxy môže prebehnúť pred vytvorením cieľového TLS. Ak je spojenie so samotnou proxy nešifrované a metóda na ňom odhaľuje opakovane použiteľné údaje, HTTPS cieľ túto výmenu spätne neochráni. Zvoľte vhodný prenos a overovanie pre službu; neposielajte súkromné účty neznámej verejnej proxy.
Pred zdieľaním prejdite podrobné protokoly. Aj keď nástroj maskuje bežné prihlasovacie polia, môžu obsahovať používateľské mená, interné koncové body, cookies alebo iné identifikačné údaje.