Squid: unrecognized httpd_accel_port, httpd_accel_with_proxy on, httpd_accel_uses_host_header

Squid proxyI was recently installing squid at home as a single caching proxy for all computers in my home network. The simple way is just running squid on your linux router as is and configuring every single browser on all computers in your network so they access internet using squid. That’s doable, but boring. The more interesting way is setting up transparent proxy so all your http traffic goes through squid automatically. I’m not going to explain how to setup the transparent proxy as there are tons of articles in the internet about that, for instance:

  • http://www.cyberciti.biz/tips/linux-setup-transparent-proxy-squid-howto.html
  • http://tldp.org/HOWTO/TransparentProxy.html
  • http://www.deckle.co.za/squid-users-guide/Transparent_Caching/Proxy

The documentation is very straightforward, and has just one problem: it is outdated and doesn’t work with the most recent versions of squid. I’ve read several instructions and was always ending up with these error messages:

2008/03/23 01:51:52| parseConfigFile: line 26 unrecognized: 'httpd_accel_port 80'
2008/03/23 01:51:52| parseConfigFile: line 27 unrecognized: 'httpd_accel_with_proxy on'
2008/03/23 01:51:52| parseConfigFile: line 28 unrecognized: 'httpd_accel_uses_host_header on'

Here’s how to fix the problem …

Studying squid documentation (which is huge, just like the amount of features squid has) revealed this magic line:

http_port 3128 transparent

Replace the three lines causing the error messages with this one and you’re ready to go. Works wonderfully! My typical scenario of using squid is sending interesting links to my wife or kids, so the article or picture gallery doesn’t have to be loaded twice – this really boosts up the browsing experience.

3 thoughts on “Squid: unrecognized httpd_accel_port, httpd_accel_with_proxy on, httpd_accel_uses_host_header

  1. Thanx that did it :) I was also trying with the options found in earlier versions of squid. Now just with “http_port 3128 transparent” everything works perfectly :)

Leave a Reply