Діагностика входу через NTLM-проксі в curl
Якщо NTLM-проксі відхиляє вхід, перевірте підтримку в збірці curl, запит автентифікації проксі та неперервність з’єднання.
Автентифікація NTLM-проксі включає рукостискання, а не лише одноразове додавання імені користувача. Перш ніж змінювати пароль облікового запису, переконайтеся, що проксі справді пропонує NTLM і виконуваний файл curl його підтримує.
curl --version
Перегляньте список можливостей саме того файлу, який виконує запит. Інше встановлення curl, образ контейнера чи збірка операційної системи можуть мати іншу підтримку автентифікації.
Вибирайте спосіб саме для проксі
curl --proxy http://proxy.example:3128 --proxy-ntlm --proxy-user 'EXAMPLE\alice' --noproxy '' --connect-timeout 5 --max-time 20 https://example.com/
Кінцева точка, домен та ім’я користувача наведені як приклади. Використовуйте формат адміністратора. Якщо в аргументі немає пароля, curl може запитати його, не залишаючи секрет у показаній команді.
Початковий запит автентифікації може бути частиною узгодження. Відрізняйте його від відмови після завершеного рукостискання. Не відповідайте на запит проксі параметром NTLM для початкового сервера.
Враховуйте поведінку з’єднань під час діагностики
Стан NTLM прив’язаний до з’єднання. Рукостискання має проходити очікуваним шляхом з’єднання; постійна заміна з’єднань між його етапами може завадити завершенню.
У застосунку з libcurl доручіть бібліотеці керування автентифікацією та повторним використанням з’єднань. Не створюйте загальний пул, який вважає взаємозамінними з’єднання, автентифіковані для різних ідентичностей. Для багатоланкової або проміжної служби перевірте збереження потрібної організації з’єднань.
Якщо підтримка й вибір способу правильні, дослідіть формат облікового запису, доменну політику й очищені від чутливих даних журнали автентифікації сервера. Вичерпання часу до будь-якого запиту автентифікації лишається проблемою доступності, а не доказом неправильного пароля NTLM.
Докладні трасування можуть містити токени автентифікації та внутрішні імена. Використовуйте їх локально й видаляйте чутливі дані перед поширенням; публічному звіту про помилку не потрібен необроблений обмін токенами.