NTLM-välityspalvelimeen kirjautumisen vianmääritys curlissa
Kun NTLM-välityspalvelin hylkää kirjautumisen, tarkista curl-koosteen tuki, palvelimen todennushaaste ja yhteyden jatkuvuus.
NTLM-välityspalvelintodennus sisältää kättelyn, ei pelkkää käyttäjätunnuksen kertaluonteista liittämistä. Varmista ennen tilin salasanan vaihtamista, että välityspalvelin todella tarjoaa NTLM:ää ja että käytetty curl-ohjelma tukee sitä.
curl --version
Tutki pyynnön suorittavan ohjelmatiedoston ominaisuusluetteloa. Toinen curl-asennus, konttikuva tai käyttöjärjestelmäkooste voi tukea eri todennusmenetelmiä.
Valitse menetelmä nimenomaan välityspalvelimelle
curl --proxy http://proxy.example:3128 --proxy-ntlm --proxy-user 'EXAMPLE\alice' --noproxy '' --connect-timeout 5 --max-time 20 https://example.com/
Päätepiste, toimialue ja käyttäjätunnus ovat esimerkkejä. Käytä ylläpitäjän antamaa muotoa. Jos argumentti ei sisällä salasanaa, curl voi kysyä sitä sen sijaan, että salaisuus jäisi näkyvään komentoon.
Alustava todennushaaste voi kuulua neuvotteluun. Erota se valmiin kättelyn hylkäämisestä. Älä vastaa välityspalvelimen haasteeseen alkuperäpalvelimelle tarkoitetulla NTLM-valinnalla.
Huomioi yhteyksien toiminta vianmäärityksessä
NTLM:n tila on yhteyskohtainen. Kättelyn on kuljettava odotettua yhteysreittiä; yhteyksien toistuva vaihtaminen vaiheiden välillä voi estää sen valmistumisen.
Anna libcurlia käyttävässä sovelluksessa kirjaston hallita todennusta ja yhteyksien uudelleenkäyttöä. Älä rakenna yleistä varantoa, joka käsittelee eri identiteeteille todennettuja yhteyksiä keskenään vaihdettavina. Tarkista usean hypyn tai välittävän palvelun tapauksessa, säilyttääkö se tarvittavan yhteysjärjestelyn.
Jos tuki ja menetelmän valinta ovat oikein, tutki tilin muotoa, toimialuekäytäntöä ja palvelimen todennuslokeja, joista arkaluonteiset tiedot on poistettu. Aikakatkaisu ennen mitään haastetta on edelleen tavoitettavuusongelma, ei todiste väärästä NTLM-salasanasta.
Yksityiskohtaiset jäljet voivat sisältää todennustunnisteita ja sisäisiä nimiä. Käytä niitä paikallisesti ja poista arkaluonteiset tiedot ennen jakamista; julkinen virheraportti ei tarvitse raakaa tunnistevaihtoa.