A autenticação de proxy NTLM envolve um handshake, não apenas anexar um nome de usuário uma vez. Antes de mudar a senha da conta, confirme que o proxy realmente oferece NTLM e que o binário do curl o suporta.

curl --version

Confira a lista de recursos do binário que executa sua solicitação. Outra instalação do curl, imagem de contêiner ou compilação do sistema operacional pode ter suporte diferente a autenticação.

Selecione um método específico para o proxy

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

O endpoint, o domínio e o nome de usuário são exemplos. Use o formato fornecido pelo administrador. Sem senha no argumento, o curl pode pedi-la em vez de deixar o segredo no comando exibido.

Um desafio inicial de autenticação pode fazer parte da negociação. Diferencie isso da rejeição de um handshake já concluído. Não use uma opção NTLM do servidor de origem para responder a um desafio do proxy.

Inclua o comportamento das conexões no diagnóstico

O NTLM mantém estado vinculado à conexão. O handshake precisa seguir o caminho de conexão esperado; trocar repetidamente as conexões entre suas etapas pode impedir a conclusão.

Em um aplicativo que usa libcurl, deixe a biblioteca gerenciar a autenticação e o reúso de conexões. Não crie um pool genérico que trate como intercambiáveis conexões autenticadas para identidades diferentes. Em um serviço com vários saltos ou intermediários, confira se ele preserva a organização de conexões necessária.

Se o suporte e a seleção do método estiverem corretos, investigue o formato da conta, a política do domínio e os logs de autenticação do servidor com dados sensíveis removidos. Um timeout antes de qualquer desafio ainda é um problema de acessibilidade, não prova de senha NTLM incorreta.

Rastreamentos detalhados podem conter tokens de autenticação e nomes internos. Use-os localmente e remova os dados sensíveis antes de compartilhar; um relatório público de erro não precisa da troca bruta de tokens.

Artigos relacionados