Search squid archive

Connection occasionally not ending after adapting response with ICAP

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I have a setup with squid 5.0.4 with ICAP server handling responses. The ICAP server redirects based on some parameters of the response.

To test this setup, I use cURL like this:
curl -k -s --proxy localhost:8000 -o /dev/null -v <URL>

Now, for some URLs, cURL hangs and for others it exits after receiving the 307 response.
When it hangs, I see this as the output of cURL (I removed what seemed to me as non-related logs from the beginning):
} [5 bytes data]
* TLSv1.3 (OUT), TLS Unknown, Unknown (23):
} [1 bytes data]
> GET / HTTP/1.1
> Host: www.one.co.il
> User-Agent: curl/7.58.0
> Accept: */*
>
{ [5 bytes data]
* TLSv1.3 (IN), TLS Unknown, Certificate Status (22):
{ [1 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [217 bytes data]
* TLSv1.3 (IN), TLS Unknown, Certificate Status (22):
{ [1 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [217 bytes data]
* TLSv1.3 (IN), TLS Unknown, Unknown (23):
{ [1 bytes data]
< HTTP/1.1 307 Temporary Redirect
< Location: <REDIRECTION-URL>
< Cache-Control: no-cache, no-store, must-revalidate
< Pragma: no-cache
< Date: Wed, 30 Dec 2020 13:58:51 GMT
< X-Cache: MISS from a0e59ea22cf8
< X-Cache-Lookup: MISS from a0e59ea22cf8:3128
< Transfer-Encoding: chunked
< Via: 1.1 a0e59ea22cf8 (squid/5.0.4)
< Connection: keep-alive

Using tcpdump I didn't see squid send any other ICAP requests (besides OPTIONS which the ICAP server replied to properly).
For some of the URLs where it hangs, I saw that running the same cURL command with the --compressed switch, makes cURL exit as expected:
} [5 bytes data]
* TLSv1.3 (OUT), TLS Unknown, Unknown (23):
} [1 bytes data]
> GET / HTTP/1.1
> Host: www.one.co.il
> User-Agent: curl/7.58.0
> Accept: */*
> Accept-Encoding: deflate, gzip
>
{ [5 bytes data]
* TLSv1.3 (IN), TLS Unknown, Certificate Status (22):
{ [1 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [217 bytes data]
* TLSv1.3 (IN), TLS Unknown, Certificate Status (22):
{ [1 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [217 bytes data]
* TLSv1.3 (IN), TLS Unknown, Unknown (23):
{ [1 bytes data]
< HTTP/1.1 307 Temporary Redirect
< Location: <REDIRECTION URL>
< Cache-Control: no-cache, no-store, must-revalidate
< Pragma: no-cache
< Date: Wed, 30 Dec 2020 14:00:31 GMT
< X-Cache: MISS from a0e59ea22cf8
< X-Cache-Lookup: MISS from a0e59ea22cf8:3128
< Transfer-Encoding: chunked
< Via: 1.1 a0e59ea22cf8 (squid/5.0.4)
< Connection: keep-alive
<
{ [5 bytes data]
* TLSv1.3 (IN), TLS Unknown, Unknown (23):
{ [1 bytes data]
* Connection #0 to host localhost left intact

When I skip the adaptation in REQMOD, I get the page and the connection is terminated.
When the ICAP works in REQMOD and redirects on the same URLs, everything seems to work properly.

What could make squid not to terminate the connection? Could it be that it still holds connection with the HTTP server?

Thanks
_______________________________________________
squid-users mailing list
squid-users@xxxxxxxxxxxxxxxxxxxxx
http://lists.squid-cache.org/listinfo/squid-users

[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux