# Using ColdFusion in a Distributed Configuration

ColdFusion 4.5 can be configured in a distributed manner where the ColdFusion engine is running on a separate computer from the Web server. Running ColdFusion in this way might be called distributed or remote ColdFusion.

To run distributed ColdFusion, you must make the following changes to a standard installation:

- On the Web server side, you must notify the ColdFusion Web server plug-in that you want it to talk to a ColdFusion engine on another machine. You do this simply by making appropriate entries in an INI file.
- On the ColdFusion engine side, you must run an additional piece of software, known as the Network Listener Module, that listens for incoming ColdFusion requests and forwards them to the ColdFusion engine running on that machine. The ColdFusion engine itself is a standard release version of the engine with no special modifications to accommodate remoting.

In addition to allowing the ColdFusion engine to be located on a separate machine from the Web server, distributed ColdFusion provides the following unique capabilities:

- It allows the machine hosting the Web server to potentially be of a different architecture from the machine hosting the ColdFusion engine.
- It allows more than one Web server to be served by the same ColdFusion engine.

To provide some degree of security for the data being transferred between the Web server and the ColdFusion engine, that conversation is encrypted using a standard, 56-bit DES encryption algorithm.

Although it's possible for a ColdFusion engine to simultaneously service both local and remote requests, it is not possible for a single Web server to simultaneously dispatch both local and remote ColdFusion requests. When starting up, the ColdFusion Web server plug-in determines if it's to run in local or remote mode and remains in that mode until it's shutdown.

## Distributed ColdFusion and clustering

The distributed ColdFusion configuration is not supported when ColdFusion is also configured for clustering. The reason is that the clustering component in ColdFusion, which runs as part of the Web server, needs to be able to communicate with the ColdFusion engine. This arrangement assumes that the ColdFusion engine and the Web server are on the same machine, which is not necessarily the case in a clustered environment.

## Changes in the 4.5 version

Remoting capabilities similar to what are now available in ColdFusion 4.0 were first provided as a special, add-on feature of ColdFusion 3.1.1. It was not possible to run the standard, release version of ColdFusion 3.1.1 in this manner. To do so, it was necessary to purchase and install special versions of the ColdFusion Web server plug-in modules on the Web server side and a separate listener module on the ColdFusion engine side. In ColdFusion 4.0 all the necessary pieces are provided as part of the standard distribution. All the supported Web server plug-ins have been enhanced to include the capability to send and receive ColdFusion data via TCP/IP, and the engine-side listener module is available as part of the standard release.