La autenticación de proxy NTLM implica un intercambio de negociación, no solo adjuntar una vez un nombre de usuario. Antes de cambiar la contraseña de una cuenta, confirma que el proxy realmente ofrece NTLM y que el binario de curl lo admite.

curl --version

Revisa la lista de funciones del binario que ejecuta la solicitud. Otra instalación de curl, una imagen de contenedor o una compilación del sistema operativo pueden admitir autenticaciones distintas.

Selecciona un método específico del proxy

curl --proxy http://proxy.example:3128 --proxy-ntlm --proxy-user 'EXAMPLE\alice' --noproxy '' --connect-timeout 5 --max-time 20 https://example.com/

El endpoint, el dominio y el nombre de usuario son ejemplos. Usa el formato indicado por tu administrador. Si el argumento no incluye contraseña, curl puede solicitarla en vez de dejar el secreto en el comando mostrado.

Un desafío inicial de autenticación puede formar parte de la negociación. Distingue eso de un rechazo tras completar el intercambio. No uses una opción NTLM del servidor de origen para responder al desafío de un proxy.

Incluye el comportamiento de la conexión en el diagnóstico

NTLM mantiene estado vinculado a la conexión. El intercambio debe seguir la ruta de conexión prevista; sustituir repetidamente las conexiones entre sus fases puede impedir que termine.

En una aplicación que usa libcurl, deja que la biblioteca gestione la autenticación y la reutilización de conexiones. No crees un conjunto genérico que trate como intercambiables las conexiones autenticadas para identidades distintas. En un servicio con varios saltos o intermediarios, comprueba si conserva la organización de conexiones necesaria.

Si el soporte y la selección del método son correctos, investiga el formato de la cuenta, la política del dominio y los registros de autenticación depurados del servidor. Un tiempo de espera agotado antes de cualquier desafío sigue siendo un problema de accesibilidad, no una prueba de que la contraseña NTLM fuera incorrecta.

Las trazas detalladas pueden contener tokens de autenticación y nombres internos. Úsalas localmente y elimina la información sensible antes de compartirlas; un informe público de error no necesita el intercambio de tokens sin depurar.

Artículos relacionados