Thanks for quick reply. i have added the "PASSTHRU" only after I have had the problem. Without it (I removed the entire login directive), it seems that squid strips away the entire Authorization digest: 4sG^GET./xadmin/ mk.php.HTTP/1.0. .Host:xxxxxx..User- Agent:.Mozilla/5 .0.(Windows;.U;. Windows.NT.6.1;. en-US;.rv:1.9.2. 16).Gecko/201103 19.Firefox/3.6.1 6.GTB7.1..Accept :.text/html,appl ication/xhtml+xm l,application/xm l;q=0.9,*/*;q=0. 8..Accept-Langua ge:.en-us,en;q=0 .5..Accept-Encod ing:.gzip,deflat e..Accept-Charse t:.ISO-8859-1,ut f-8;q=0.7,*;q=0. 7..Via:.1.1.squid-server:3128.(squid/ 2.6.STABLE21)..X -Forwarded-For:. 192.168.0.71..Ca che-Control:.max -age=259200..Con nection:.keep-al -----Original Message----- From: Amos Jeffries [mailto:squid3@xxxxxxxxxxxxx] Sent: Thursday, April 14, 2011 1:13 PM To: squid-users@xxxxxxxxxxxxxxx Subject: Re: squid to pass http digest On 14/04/11 21:08, Or Gerson wrote: > Hello, > > I have two web servers running apache behind squid. > The application on the apache is php written and requests authentication which is passed by http digest. > > When I try to get to the web servers directly the application works. But through squid I find that squid removes the http digest header and replaces it with its own basic authentication (proxy_auth is not enabled). > Exactly as you have configured to happen. > This is taken from squid access log: > > http://squid-server/xadmin/mk.php - ROUNDROBIN_PARENT/squid-server text/html Host:%20squid-server%0D%0AUser-Agent:%20Mozilla/5.0%20(Windows;%20U;%20Windows%20NT%206.1;%20en-US;%20rv:1.9.2.16)%20Gecko/20110319%20Firefox/3.6.16%20GTB7.1%0D%0AAccept:%20text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8%0D%0AAccept-Language:%20en-us,en;q=0.5%0D%0AAccept-Encoding:%20gzip,deflate%0D%0AAccept-Charset:%20ISO-8859-1,utf-8;q=0.7,*;q=0.7%0D%0AKeep-Alive:%20115%0D%0AConnection:%20keep-alive%0D%0AAuthorization:%20Digest%20username=%22dev%22,%20realm=%22xadmin%22,%20nonce=%22b1ffe1477deafad5554a0632ad8fba1c%22,%20uri=%22/xadmin/mk.php%22,%20algorithm=MD5,%20response=%22625715996fe71c2fec61d4f6f1514150%22,%20opaque=%22d75db7b160fe72d1346d2bd1f67bfd10%22,%20qop=auth,%20nc=00000001,%20cnonce=%227dad729a5d7d6eae%22%0D%0A > > This is the header that gets to the web server: > <erasing the binary copy we get...> ...mk.php.HTTP/1.0 Host:.squid-server User-Agent:.Mozilla/5.0.(Windows;.U;.Windows.NT.6.1;.en-US;.rv:1.9.2.16).Gecko/20110319.Firefox/3.6.16.GTB7.1 Accept:.text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language:.en-us,en;q=0.5 Accept-Encoding:.gzip,deflate Accept-Charset:.ISO-8859-1,utf-8;q=0.7,*;q=0.7 Via:.1.1.xxxxx.(squid/2.6.STABLE21) X-Forwarded-For:.192.168.0.71 Proxy-Authorization:.Basic.UEFTU1RIUlU= Authorization:.Basic.UEFTU1RIUlU= Cache-Control:.max-age=259200 > > This is squid config: > > http_port 3128 > http_port 192.168.68.167:80 vhost > cache_peer 192.168.68.155 parent 80 0 no-query connection-auth=off login=PASSTHRU originserver round-robin name=web1 > cache_peer 192.168.68.156 parent 80 0 no-query connection-auth=off login=PASSTHRU originserver round-robin name=web2 There are two headers involved: Proxy-Authorization and Authorization. "Proxy-Authorization:" is only relevant on forward-proxy requests to the proxy being talked to. Squid will normally strip these and requires login=PASS to pass them on in Basic format. Your server peers DO NOT NEED IT. So the normal hop cleanup is the right thing to happen. "Authorization:" is end-to-end web server auth. and contains the login for a web server. Squid does not touch them unless some very narrow circumstances are occuring. Which brings us to the only auth-related thing your Squid is doing being login=PASSTHRU. "PASSTHRU" is a new option available in 3.2 series Squid. 2.6 series treat it as the "username:password" value to be relayed on in Basic auth format. SOLUTION: remove the login= option from your config. Amos -- Please be using Current Stable Squid 2.7.STABLE9 or 3.1.12 Beta testers wanted for 3.2.0.6 This message, together with its attachments, contains information from WebsPlanet Ltd., which is privileged and confidential. If you are not the intended recipient or you have received this message in error, then please notify us immediately by e-mail to info@xxxxxxxxxxxxxx, and delete all copies of this message and its attachments.