.NET Sites and the Tomcat ISAPI Filter: How to Get Your CF Web Connector to Play Nice

ISAPI Filters/Web Connectors

Tomcat has to be listed as an ISAPI filter to tell IIS how to run ColdFusion files. Without this configuration, IIS will not know what to do with your cfm/cfc templates. There are two ways to do this. If you have non-CF sites in IIS, there are still two ways to do this.

Configure All IIS Websites or Specific Websites

If you configure your non CF IIS Website sites with the ColdFusion connector, it is very likely they will fail. So, the choice is to configure all websites and then unconfigure the non-cf sites, or configure each CF site individually.

Configuring Each Site Individually within the ColdFusion Installation Wizard.
Option 1: Configuring each site individually

Configuring each CF site with its own connector results in multiple connectors:

Clearly, this approach can become tedious.

Option 2: Configuring CF With Just One Connector by Modifying web.config File for Non-CF Sites
Above: Using the CF Web Configurator for all Sites.

In this approach, the web.config file in non-CF  sites will have to be modified. But before we address this, we must understand why we don't modify the applicationHost.config file to do the same thing.

ApplicationHost.config and Custom Settings

ApplicationHost.config is an XML file that has all of the IIS settings in it. It can be modified through the individual web.config file that you find in each web site.

What we learned about the applicationHost config is that if you try to remove a ISAPI filter setting here, it will be overwritten if you run the ColdFusion IIS Web Connector again. So, don’t add the removal setting in applicationHost.config; do it in the web.config file of the site that is not running IIS.

Web.config and Custom Settings

Placing the “remove” ISAPI filter command in web.config for the tomcat filter will not be overwritten upon a new update of the Web Connector: