Forward proxy vs Reverse proxy and Proxy Cache features

All - I’ve read through most of the posts before posting this but
couldn’t find answer to the specific question I have.

I’ve been looking at nginx, squid, varnish and Apache Traffic server to
determine the best one to use as a transparent forward caching
with necessary modifications (to the code or configuration
file) - I understand Nginx (and varnish) is built from scratch to be a
reverse proxy and I know nginx performs very well under load as a
reverse proxy. With Nginx adoption increasing, I’d like to know if
there are enough “caching support” in Nginx to be used as [a] caching
proxy and [b] forward proxy. Here are my specific questions:

  1. What major “feature” or “capability” does Nginx lack as a forward
    proxy (as compared to say Squid) ? With modification to the code or
    “proxy_pass” config line, it’s not difficult to make it talk to the
    Internet (and not a specific backend server). So what are the missing
    pieces in Nginx that makes it unsuitable for forward proxy mode ?
  2. What are the “caching” features that are critical (compared to squid)
    that are missing in squid ? If Nginx is changed to run as forward proxy
    (with httpproxymodule), can I expect similar cache hit with Nginx and
    other proxy caches (say Squid) ?
  3. What are other features of a cache that Nginx doesn’t support and are
    critical ?
  4. I know Nginx is far superior in performance compared to squid but
    which piece/component of Nginx is contributing to the gain ? Is it the
    event driven model, RAM memory usage, data structures or caching
    architecture ?

Thanks in advance.

Posted at Nginx Forum:,134286,134286#msg-134286

I can answer 4.
The event driven style results in a lowe memory usage and context
switches then would be needed using a threaded model which gives nignx
a huge performance advantage. Also its much smaller and less bloated,
and written for speed.

Thanks mat h

Anyone else has answers to 1 to 3 ? There was a typo in my original
post . [2] is supposed to read "What are the “caching” features that are
critical (compared to squid) that are missing in nginx "


Posted at Nginx Forum:,134286,134576#msg-134576

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs