Modifying nginx for use as transparent, forward proxy
Igor Sysoev
is at rambler-co.ru
Thu Sep 10 13:35:37 MSD 2009
On Thu, Sep 10, 2009 at 02:12:55AM -0700, Mark Preston wrote:
> 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
> fetch.
>
> 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.
>
> Thanks!
> Mark
>
> 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. :-)
Although writing in Russian is more easy for me I answer in English,
since this is English mailing list.
You may try the following configuration:
http {
resolver 127.0.0.1; # do not forget to run named on localhost
server {
location / {
proxy_pass http://$http_host$request_line;
sub ...
}
}
However, I can not say that it will work without any issue.
--
Igor Sysoev
http://sysoev.ru/en/
More information about the nginx
mailing list