Reverse proxy servers in topologies

This provides a web server, on a single host, that forwards requests to the applications.

You can refactor the physical topology and still maintain links by introducing a reverse proxy. A reverse proxy is a proxy server that logically sits in front of a set of other servers and determines where to route a particular request. This technique is useful if you want to start off with a simple topology and redeploy to a more complex topology at a later date.

For example, suppose you installed CCM and Jazz® Team Server on the same physical host, elm.example.org, see the following diagram. The public URIs for CCM and JTS were configured as https://elm.example.org:9443/ccm and https://elm.example.org:9443/jts respectively.

Jazz Team Server and the CCM application on the same server

At a later date, you decide that you need to deploy them on separate hosts and on new hardware. However, you need to maintain URI stability since data has been persisted in the CCM and Jazz Team Server repositories. To resolve this, you can set up a reverse proxy at the host elm.example.org, and then configure the proxy to route the requests for the /ccm and /jts context roots to separate hosts on which they are deployed. From the outside world, everything continues to be addressable using elm.example.org even though the physical topology now uses multiple nodes.

The following diagram shows the topology using a reverse proxy server for the preceding example.
Note: Additional applications with distinct context roots can be deployed using the same host as the basis for the public URI, but running the applications on separate, distinct servers. The following diagram shows the addition of the QM application.

CCM application and Jazz Team Server with a reverse proxy server and added QM application

The IBM HTTP Server version 2.0.47.1 and higher supports reverse proxy with back-end secure socket layers (SSL) enabled configuration. In this configuration, the protocol used between clients and the reverse proxy server can be either HTTP or HTTPS. However, the protocol between the reverse proxy and back-end servers is HTTPS, or SSL enabled. A reverse proxy server with back-end SSL enabled is used for secure communication between the reverse proxy server and back-end servers.