Reinhold Früsmer created HTTPCLIENT-1776:
--------------------------------------------

             Summary: NTLM proxy connection persistence not working anymore
                 Key: HTTPCLIENT-1776
                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1776
             Project: HttpComponents HttpClient
          Issue Type: Bug
          Components: HttpClient (classic)
    Affects Versions: 4.5.2
            Reporter: Reinhold Früsmer


Hi,

I'm not sure if this is a problem with HttpClient itself or with Squid (3.3.8) 
proxy server, but maybe you could please advise.

Our client application first sends a HEAD request for NTLM authentication with 
the proxy and then re-uses the execution context as described in 
https://hc.apache.org/httpcomponents-client-ga/tutorial/html/authentication.html
 for the following POST requests.

Using more recent versions of Tomcat on the server-side, re-using the execution 
context does not work anymore, the NTLM authentication negotiate-challenge is 
repeated forever and following POST requests with chunked transfer-encoding 
don't work  since they are interrupted by the authentication challenge.

I figured out the difference betweeen newer and older Tomcat versions and found 
the reason: previously, Tomcat automatically added a "Content-Length: 0" header 
to the reponse of HEAD requests. With "Bug 59310 - Content-Length of HEAD 
requests incorrectly computed as 0" 
(https://bz.apache.org/bugzilla/show_bug.cgi?id=59310), this behavior was 
changed and without this header,  NTLM connections to the proxy don't persist 
anymore. 

As the content-length header is optional in a response to a HEAD request (RFC 
7230), the problem must be either in HttpClient or Squid proxy. 

Thanks in advance!


Best regards
Reinhold 




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to