407 požaduje ověření u proxy. 401 požaduje ověření pro cílový prostředek. Jeden požadavek může narazit na oba kódy, proto před zadáním hesla zjistěte, kdo ho žádá.

Porovnejte stav a hlavičky ověřovací výzvy

OdpověďHlavička výzvyHlavička přihlašovacích údajůÚčastník
407 Proxy Authentication RequiredProxy-AuthenticateProxy-AuthorizationZprostředkující proxy
401 UnauthorizedWWW-AuthenticateAuthorizationOvěřovací postup původního prostředku

Stav je zásadní první vodítko, ale prohlédněte celou výměnu. Číslo 407 v textu stránky není skutečná odpověď HTTP 407. Stejně tak vlastní přihlašovací stránka může vrátit 200 a přesto požadovat ověření na aplikační úrovni.

Proč může HTTPS selhat kódem 407 ještě před dosažením webu

Při přenosu HTTPS přes běžnou HTTP proxy klient obvykle nejprve požádá o vytvoření tunelu CONNECT. Proxy může pro tento požadavek CONNECT vyžádat ověření. Není-li dokončeno, TLS relace s cílem přes tunel ještě nevznikla. Změna API tokenu webu proto tuto fázi pravděpodobně neopraví.

Pomocí podrobného výstupu zjistěte, kde se výzva objeví:

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

Nahraďte místní naslouchající rozhraní vlastním a přečtěte první výzvu v protokolu. 407 během CONNECT přichází před cílovým TLS; pozdější 401 může následovat po úspěšném vytvoření tunelu.

Předejte údaje proxy přes rozhraní pro proxy

Pro koncový bod a účet od důvěryhodného správce může curl dohodnout ověřovací schéma proxy a vyžádat si chybějící heslo:

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

Nahraďte ukázkový koncový bod a uživatele údaji služby, kterou smíte používat. Uvedení pouze uživatele zabrání vložení hesla přímo do výše uvedeného příkazu. Podporované metody se liší podle sestavení curl a proxy; při selhání dohody ověřte skutečnou výzvu a možnosti sestavení.

Volba ověřování proxy je oddělená od volby curl pro uživatele původního serveru. Nepřidávejte hlavičku Authorization pro původní server místo odpovědi na výzvu proxy. Ani ručně nepředávejte hlavičky s údaji proxy nesouvisejícím požadavkům a neukládejte je do hlaviček sdílených celou aplikací.

Když proxy stále vrací 407

  • Ověřte, že používáte zamýšleného hostitele a port proxy.
  • Zkontrolujte schémata nabízená proxy místo předpokladu, že jde o Basic.
  • Ověřte stav účtu a požadovaný formát uživatelského jména.
  • Zkontrolujte předávání zvláštních znaků, jsou-li údaje vložené do URL.
  • Zjistěte, zda podnikové ověřování integrované do prohlížeče potřebuje podporu běhového prostředí nebo platformy.
  • Nestačí-li údaje klienta, požádejte správce o identifikátor požadavku nebo serverový záznam zbavený citlivých údajů.

403 nebo odmítnuté CONNECT může vyplývat z pravidel přístupu i po úspěšném přihlášení. Další pokusy o heslo neumožní přístup k zakázanému cíli.

HTTPS cíle nechrání každou výměnu přihlašovacích údajů proxy

Ověření proxy může proběhnout před vytvořením cílového TLS. Pokud je spojení se samotnou proxy nešifrované a metoda na něm odhaluje opakovaně použitelné údaje, HTTPS cíl tuto výměnu zpětně neochrání. Zvolte pro službu vhodný přenos a ověřování; neposílejte soukromé účty neznámé veřejné proxy.

Podrobné protokoly před sdílením prohlédněte. I když nástroj maskuje běžná přihlašovací pole, mohou obsahovat uživatelská jména, interní názvy koncových bodů, cookies či další identifikační údaje.

Související články