Hi,
The “GET” request is made from a client to the server via the ATS proxy; the 
client (curl) specifies the auth. method to be NTLM.

> GET http://www.purple.com/ HTTP/1.1
> Host: www.purple.com
> Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
> User-Agent: curl/7.44.0
> Accept: */*
> Proxy-Connection: Keep-Alive


The base response to this comes from the plugin – not the server.

< HTTP/1.1 407 Proxy Authentication Required
< Date: Mon, 04 Sep 2017 11:21:22 GMT
< Connection: close
< Via: http/1.1 POD128-CentOS7-01.ibwsa (ApacheTrafficServer/6.2.1)
< Server: ATS/6.2.1
< Proxy-Authenticate: NTLM 
TlRMTVNTUAACAAAABAAEADgAAAAGgokC+E2Uox6iJ80AAAAAAAAAAHYAdgA8AAAABgEAAAAAAA9YTUVOAgAIAFgATQBFAE4AAQAcAFAATwBEADEAMgAzADcALQBXAFMAQQAwADAANgAEAAoAaQBiAGwAbgB4AAMAKABwAG8AZAAxADIAMwA3AC0AdwBzAGEAMAAwADYALgBpAGIAbABuAHgABwAIAMIJFvBvJdMBAAAAAA==
< Content-Length: 15
< Content-Type: text/plain

However, as part of the response header, the plugin ONLY fills in the 
“Proxy-authenticate” field – the other fields are under the control of ATS.
You would notice that while the client is requesting the connection to be “kept 
alive”, the ATS specifies that the connection should be “CLOSED”.

Thanks,
Ananth



From: Alan Carroll <[email protected]>
Reply-To: "[email protected]" <[email protected]>
Date: Monday, 4 September 2017 7:36 pm
To: "[email protected]" <[email protected]>
Subject: Re: ATS proxy closes the connection "close" even if client sends 
"keep-alive"

From your description it's hard to tell what's going on. In particular, is a 
request made upstream to the origin? Where does the base response to the user 
agent come from - your plugin or an upstream server?

I note in the response this field:

< Connection: close
which seems to indicate the connection should be closed. I would investigate 
where that comes from, and whether it is even ATS that is closing the 
connection. If you're using curl and it sees that field, curl will close the 
connection.

Reply via email to