I've created a squid configuration with the directive:

deny_info ERR_PROXY_INFO all

And tested this by setting squids port to 8080, then setting my browser proxy to

This does display the custom error page. But when I try to make it transparent with:

iptables -t nat -A PREROUTING -i br0 -p tcp --dport 80 -j REDIRECT --to-port 8080

It doesn't work and I get this browsing error:


The requested URL could not be retrieved

Invalid Request error was encountered while trying to process the request:

GET / HTTP/1.1 Host: www.google.co.nz Connection: keep-alive Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,/;q=0.5 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.63 Safari/534.3 Accept-Encoding: gzip,deflate,sdch Accept-Language: en-US,en;q=0.8 Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3 Cookie: XXX

Some possible problems are:

Missing or unknown request method.

Missing URL.

Missing HTTP Identifier (HTTP/1.0).

Request is too large.

Content-Length missing for POST or PUT requests.

Illegal character in hostname; underscores are not allowed.

Your cache administrator is webmaster.

Generated Tue, 28 Sep 2010 02:02:05 GMT by networkServer (squid/2.7.STABLE7)

1 Answer 1


Found the problem, I hadn't set up the transparent proxy correctly:

http_port 8080 ---> http_port 8080 transparent

How very n00b of me

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .