Knowledge Nugget: What is a (Caching) Reverse Proxy?


Read this knowledge-nugget if you want to know what the term Reverse Proxy means, how it works and how it can be used. Further, I am going to explain how it relates to the term Proxy Server and what a Caching Reverse Proxy is.

Most readers will know a common proxy from work or other network environments. The correct terminology is Forward Proxy. A Forward Proxy Server:

  • intercepts outbound requests from users’ web browsers,
  • forwards it to the target web server,
  • retrieves the response, and
  • passes it back on to the users’ web browser.

This is to explain the concept of a proxy server. In effect, proxy servers make hosts on the Internet transparent to the users’ workstations. The user’s workstation only “knows” about the network resources in front of but not behind a proxy server.

A Reverse Proxy Server performs the task, just the other way around. This means Reverse Proxies hide internal services in that they intercept inbound requests and distribute them on into the internal network infrastructure of an organization. This means specifically:

  • intercept inbound request from the internet,
  • match the URI of the request and identify the target host,
  • forward the request to the target host,
  • retrieve the response,
  • pass the response back to the calling application.
Schematic illustration of Reverse Proxy usage
Figure 1 - Schematic illustration of Reverse Proxy usage

Figure 1 illustrates a schematic reverse proxy configuration, showing the uses known to me. An organization with the URL http://www.domain.com/ hosts a number or applications. The reverse proxy has the following responsibilities:

  1. Make the actual locations and names of the servers transparent to the client (user), i.e. hide them.
  2. Forward inbound request – based on their URI – to the appropriate service.
  3. Shield applications hosted on the internal network from direct access out of the Internet.
  4. Cache the responses to inbound requests in order to improve performance and reduce load on the servers. A Reverse Proxy with caching is sometimes also called a Caching Proxy.
  5. Provide the hosting organization with one aspect of uniform web appearance in that all applications share the same domain name and are accessible via specific URIs.

Most commonly proxies are used in conjunction with the HTTP and FTP protocols. Depending on the proxy chosen other protocols are supported as well.

References

[IBMa] IBM Redbooks, 2009, “WebSphere Application Server V7: Concepts, Planning and Design”, IBM [online] available at http://www.redbooks.ibm.com/abstracts/sg247708.html

[IBMb] IBM Redbooks. 2005, “WebSphere Application Server V6 Scalability and Performance Handbook”, IBM [online] available at http://www.redbooks.ibm.com/abstracts/SG246392.html

[Wikipedia2010] Wikipedia. 2010, “Reverse proxy”, Wikipedia [online] available at http://en.wikipedia.org/wiki/Reverse_proxy

Copyright © 2010 Michael Pichler

Advertisements

One thought on “Knowledge Nugget: What is a (Caching) Reverse Proxy?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s