A 407 a proxynál kér hitelesítést. A 401 a cél erőforráshoz kér hitelesítést. Egy kérés mindkettővel találkozhat, ezért jelszó megadása előtt tisztázd, ki kéri.

Hasonlítsd össze az állapotot és a hitelesítési felszólítás fejléceit

VálaszHitelesítési felszólítás fejléceBelépési adatok fejléceÉrintett fél
407 Proxy Authentication RequiredProxy-AuthenticateProxy-AuthorizationKöztes proxy
401 UnauthorizedWWW-AuthenticateAuthorizationAz eredeti erőforrás hitelesítési folyamata

Az állapot fontos első támpont, de nézd át a teljes üzenetváltást. Az oldal szövegében megjelenő 407 nem egyenértékű egy valódi HTTP 407 válasszal. Egy egyedi bejelentkezőoldal ugyanígy adhat 200-at, miközben az alkalmazásrétegben továbbra is hitelesítést követel.

Miért jöhet 407 még azelőtt, hogy a HTTPS-kérés elérné a webhelyet?

Ha egy szokásos HTTP-proxy HTTPS-kérést továbbít, a kliens általában először CONNECT-alagutat kér. A proxy magához a CONNECT-kéréshez is kérhet hitelesítést. Amíg ez nem teljesül, a cél TLS-munkamenete még nem jött létre az alagúton át. A webhely API-tokenjének cseréje ezért valószínűleg nem javítja ezt a szakaszt.

Részletes kimenettel figyeld meg, hol jelenik meg a felszólítás:

curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/

Cseréld a helyi figyelőt a sajátodra, és olvasd el a napló első hitelesítési felszólítását. A CONNECT közbeni 407 megelőzi a cél TLS-ét; egy későbbi 401 már a sikeresen létrejött alagút után jöhet.

A proxy adatait a proxy felületén add meg

Megbízható rendszergazdától kapott végpont és fiók esetén a curl egyeztetheti a proxy hitelesítési módját, és bekérheti a hiányzó jelszót:

curl --proxy http://proxy.example:8080 --proxy-anyauth --proxy-user alice https://example.com/

A példa végpontját és felhasználónevét cseréld a jogosan használt szolgáltatás adataira. Csak a felhasználónév megadása elkerüli a jelszót közvetlenül a fenti parancsban. A támogatott módszerek a curl összeállításától és a proxytól függnek; sikertelen egyeztetésnél ellenőrizd a tényleges felszólítást és az összeállítás képességeit.

A proxy hitelesítési kapcsolója különálló a curl eredeti kiszolgálóhoz tartozó felhasználóhitelesítésétől. Ne adj hozzá eredeti kiszolgálónak szóló Authorization fejlécet a proxy felszólítására adott válasz helyett. Ne továbbítsd kézzel a proxy belépési fejléceit idegen kérésekhez, és ne tárold az egész alkalmazásban újrahasznált fejlécek között.

Ha a proxy továbbra is 407-et ad

  • Ellenőrizd a kívánt proxy gazdagépét és portját.
  • Basic feltételezése helyett nézd meg a proxy által hirdetett módszereket.
  • Ellenőrizd a fiók állapotát és az előírt felhasználónév-formátumot.
  • Vizsgáld meg a különleges karakterek átadását, ha az adatok URL-be vannak ágyazva.
  • Tisztázd, igényel-e a böngészőbe integrált vállalati hitelesítés futtatókörnyezet- vagy platformtámogatást.
  • Ha a kliens adatai nem elegendők, kérj a rendszergazdától érzékeny adatoktól megtisztított kérésazonosítót vagy kiszolgálónapló-bejegyzést.

A 403 vagy az elutasított CONNECT sikeres bejelentkezés után is lehet hozzáférési szabály döntése. Újabb jelszópróbák nem adnak hozzáférést tiltott célhoz.

A cél HTTPS-e nem véd meg minden proxyhitelesítési adatcserét

A proxy hitelesítése a cél TLS-ének létrejötte előtt is történhet. Ha magához a proxyhoz titkosítatlan a kapcsolat, és a módszer azon újrahasználható adatokat fed fel, a HTTPS-cél utólag nem védi meg ezt az adatcserét. Válassz a szolgáltatásnak megfelelő átvitelt és hitelesítést, és ne küldj magánfiókokat ismeretlen nyilvános proxynak.

Megosztás előtt nézd át a részletes naplókat. A szokásos belépési mezők maszkolása mellett is maradhatnak bennük felhasználónevek, belső végpontnevek, sütik és más azonosító adatok.

Kapcsolódó cikkek