Search squid archive

parseHTTPRequest problem with SQUID3

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

 



I've just rolled back a failed Squid migration from 2.6 to 3.0, and I'm
looking for reasons why it failed.  I have been successfully using the
latest Squid 2.6 to http-accel a pool of backend web servers, with a
load-balancer in front to direct traffic.

The load-balancer hits the squid server with a health check, i.e. GET
/mgmt/alive and expects an HTTP 200, before allowing it to have traffic.
When I turned up Squid3, all health checks failed...showing the
following in access.log:

1226355682.853      0 <ip_of_load-balancer> NONE/400 1931 GET
http://cached.whatever.com/ps/management/alive - NONE/- text/html
1226355684.875      0 <ip_of_load-balancer> NONE/400 1931 GET
http://cached.whatever.com/ps/management/alive - NONE/- text/html
1226355687.905      0 <ip_of_load-balancer> NONE/400 1931 GET
http://cached.whatever.com/ps/management/alive - NONE/- text/html

After some troubleshooting and turning debug_options up, it appears that
perhaps it's the request done without a hostname that's the problem,
because I see 'parseHttpRequest: Missing HTTP identifier' in cache.log
with debug_options set to ALL,3.

Squid 2.6 handled these fine, and my configuration hasnt changed, so was
there something introduced in Squid3 that demands a hostname?  I know
from packet captures that my load-balancer literally connects to the
squid server on port 80 and does a GET /mgmt/alive (not GET
http://cached.whatever.com/mgmt/alive)

Here are the relevant portions of my config:

    http_port 80 accel defaultsite=cached.whatever.com vhost 
    cache_dir null /tmp

    cache_peer 1.1.1.1 parent 80 0 no-query no-digest originserver
name=Cached-Whatever
    cache_peer_domain Cached-Whatever cached.whatever.com

    acl our_site dstdomain cached.whatever.com
    acl Origin-Whatever dst 1.1.1.1
    acl acceleratedPort port 80
    acl HealthChecks urlpath_regex mgmt/alive

    always_direct allow HealthChecks
    cache deny HealthChecks
    cache allow Origin-Whatever
    http_access allow Origin-Whatever acceleratedPort
    http_access deny all
    http_reply_access allow all

    access_log /var/log/squid/access.log squid !HealthChecks
    visible_hostname cached.whatever.com
    unique_hostname squid03


Thanks - Gregori



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

  Powered by Linux