HTTP 407 o 401: quin inici de sessió falla?
Distingeix l’autenticació del proxy de la del web, revisa les capçaleres correctes i evita enviar credencials al salt equivocat.
Un 407 demana autenticació al proxy. Un 401 la demana per al recurs de destinació. Una petició pot trobar tots dos casos: esbrina qui la sol·licita abans de donar una contrasenya.
Compara l’estat i les capçaleres de repte
| Resposta | Capçalera de repte | Capçalera de credencials | Part implicada |
|---|---|---|---|
| 407 Proxy Authentication Required | Proxy-Authenticate | Proxy-Authorization | Un proxy intermediari |
| 401 Unauthorized | WWW-Authenticate | Authorization | El flux d’autenticació del recurs d’origen |
L’estat és una primera pista essencial, però revisa tot l’intercanvi. Una pàgina que mostra 407 al text no equival a una resposta HTTP 407 real. Igualment, una pàgina d’accés personalitzada pot retornar 200 i continuar exigint autenticació a la capa d’aplicació.
Per què HTTPS pot fallar amb 407 abans d’arribar al web
Quan un proxy HTTP convencional transporta una petició HTTPS, el client acostuma a demanar primer un túnel CONNECT. El proxy pot exigir autenticació per a aquesta petició CONNECT. Si no es completa, la sessió TLS amb la destinació encara no s’ha establert pel túnel. Canviar el token API del web difícilment arreglarà aquesta fase.
Fes servir una petició amb sortida detallada per veure on apareix el repte:
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/
Substitueix el punt d’escolta local pel teu i llegeix el primer repte del registre. Un 407 durant CONNECT precedeix el TLS de la destinació; un 401 posterior pot arribar després d’establir el túnel correctament.
Proporciona les credencials per la interfície del proxy
Per a un punt de connexió i un compte d’un administrador de confiança, curl pot negociar l’esquema d’autenticació del proxy i demanar la contrasenya que falti:
curl --proxy http://proxy.example:8080 --proxy-anyauth --proxy-user alice https://example.com/
Canvia el punt de connexió i l’usuari d’exemple pels del servei que tens permís per utilitzar. Especificar només l’usuari evita la contrasenya directament a l’ordre anterior. Els mètodes admesos varien segons la compilació de curl i el proxy; si falla la negociació, revisa el repte real i les capacitats de la compilació.
L’opció d’autenticació del proxy és independent de la d’usuari a l’origen de curl. No afegeixis una capçalera Authorization de l’origen en lloc de respondre al repte del proxy. Evita també reenviar manualment capçaleres de credencials del proxy a peticions alienes o desar-les en capçaleres reutilitzades per tota l’aplicació.
Si el proxy continua retornant 407
- Confirma que fas servir l’amfitrió i el port del proxy previstos.
- Comprova els esquemes anunciats pel proxy en lloc de donar per fet Basic.
- Confirma l’estat del compte i si el servei exigeix un format d’usuari concret.
- Revisa com es transmeten els caràcters especials si les credencials són dins d’un URL.
- Determina si l’autenticació empresarial integrada al navegador necessita suport de l’entorn d’execució o de la plataforma.
- Si les proves del client no són suficients, demana a l’administrador un identificador de petició o una entrada del registre del servidor amb les dades sensibles eliminades.
Un 403 o un CONNECT denegat pot ser una decisió de la política d’accés fins i tot després d’entrar correctament. Més intents de contrasenya no obriran una destinació prohibida.
L’HTTPS de destinació no protegeix tots els intercanvis de credencials del proxy
L’autenticació del proxy pot passar abans d’establir el TLS de destinació. Si la connexió amb el proxy mateix és sense xifrar i el mètode hi exposa credencials reutilitzables, la destinació HTTPS no protegeix retroactivament aquest intercanvi. Tria un transport i una autenticació adequats al servei; no enviïs comptes privats a un proxy públic desconegut.
Revisa els registres detallats abans de compartir-los. Encara que l’eina amagui camps habituals de credencials, hi poden quedar usuaris, noms de punts de connexió interns, galetes o altres dades identificatives.