Modifying nginx for use as transparent, forward proxy

Mark Preston mark.j.preston at
Thu Sep 10 13:12:55 MSD 2009

Hi All,

My understanding is that nginx cannot be used as a forward proxy out of the
box. Is this correct?

If so, my thinking is that by making some small modifications to
ngx_http_proxy_module.c, it would be possible to have a nginx.conf file with
"proxy_pass asdf", where asdf ends up being ignored with the new surgical
edits to ngx_http_proxy_module.c. Instead of doing the complex lookups to
figure out the backend server, it would simply pull out the "Host" from the
browser/client request being made, and use that as the appropriate URL to

Would this work?

(As a background, I currently have a squid + ICAP setup in transparent proxy
mode, and it works fine for proof-of-concept, but falls over in terms of
performance. As a result, I'm trying to use nginx as a replacement. And with
the http_sub module, I'm thinking I don't even need ICAP, since we only add
a small snippet after the HTML head section of every web page.)

If there are better / easier ways of getting nginx to work as a forward
proxy, please let me know, and I'd be happy to contribute the edits back.


PS. If the response is in Russian, that's cool too. I can read it just fine
(and speak it), but my writing is rather poor. :-)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the nginx mailing list