Jump to content

Reverse proxy: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
See also: rm external links not marked as such - there are plenty (probably too many) notable packages already listed, not necessary to add listings for others that don't have articles
Added link to tutorial and example.
Line 21: Line 21:
* [[Sun Java System Web Server]]
* [[Sun Java System Web Server]]
* [[SonicWALL]]
* [[SonicWALL]]

==External links==
* [http://www.sweetnam.eu/index.php/Reverse_Proxy_with_Squid Squid reverse proxy] - Create a reverse proxy with Squid


[[Category:World Wide Web]]
[[Category:World Wide Web]]

Revision as of 10:16, 6 October 2007

A reverse proxy is a proxy server that is installed within the neighborhood of one or more servers. Typically, reverse proxies are utilized in front of webservers. All connections coming from the Internet addressed to one of the webservers are routed through the proxy server, which may either deal with the request itself or pass the request wholly or partially to the main webserver.

A reverse proxy is called so because it acts as a proxy for in-bound traffic to a bunch of servers hidden behind a single IP address (eg. a cluster of web servers all serving content for the same domain). Contrast this to a 'forward proxy' which acts as a proxy for out-bound traffic (eg. an ISP forwarding and most likely also caching HTTP traffic from all the internal clients to external web servers on the internet).

There are several reasons for installing reverse proxy servers:

  • Security: the proxy server is an additional layer of defense and therefore protects the webservers further up the chain
  • Encryption / SSL acceleration: when secure websites are created, the SSL encryption is sometimes not done by the webserver itself, but by a reverse proxy that is equipped with SSL acceleration hardware.
  • Load distribution: the reverse proxy can distribute the load to several servers, each server serving its own application area. In the case of reverse proxying in the neighborhood of webservers, the reverse proxy may have to rewrite the URLs in each webpage (translation from externally known URLs to the internal locations).
  • Caching static content: A reverse proxy can offload the webservers by caching static content, such as images. Proxy caches of this sort can often satisfy a considerable amount of website requests, greatly reducing the load on the central web server.
  • Compression: the proxy server can optimize and compress the content to speed up the load time.
  • Spoon feeding: a dynamically generated page can be produced all at once and served to the reverse-proxy, which can then return it to the client a little bit at a time. The program that generates the page is not forced to remain open and tying up server resources during the possibly extended time the client requires to complete the file transfer.

See also