Internet Information Services (IIS) 7 and above provides a request-processing architecture that includes:
- The Windows Process Activation Service (WAS), which enables sites to use protocols other than HTTP and HTTPS.
- A Web server engine that can be customized by adding or removing modules.
- Integrated request-processing pipelines from IIS and ASP.NET.
IIS contains several components that perform important functions for the application and Web server roles in Windows Server® 2008 (IIS 7.0) and Windows Server 2008 R2 (IIS 7.5). Each component has responsibilities, such as listening for requests made to the server, managing processes, and reading configuration files. These components include protocol listeners, such as HTTP.sys, and services, such as World Wide Web Publishing Service (WWW service) and Windows Process Activation Service (WAS).
The prerequisites for integration are:
• .NET 3.5 should be installed on the server
• The new site with a common virtual directory for IIS and Tomcat. We need to create a website, which accepts the request from the user and redirects it to Tomcat 7 internally. In order to integrate IIS with Tomcat, we have to create a common virtual directory for IIS and Tomcat, and then share the module.
• isapi_redirect.dll: It is a dynamic linking library for the Windows platform.
• isapi_redirect iplugin: It is used to redirect the request from IIS to Tomcat.
• workers.properties: It should have all the definitions for the configuration, such as the hostname, AJP port, and load balancing method.
• uriworkermap.properties: It contains the URI mapping information for the application, such as /sample.
Steps for installation
Download the latest mod_jk from Tomcat connectors download page. Extract it to C and rename it to Tomcat. Go to the directory C:\tomcat\native\iis and double-click on the isapi _ redirect. An entry in the registry will be created, as shown in the following screenshot:
Open in notepad to see the content of registry file like below:
[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0]
It shows the different parameters for the Tomcat connection such as workers. properties, URI mapping, log location, and so on.
Once the registry is saved, you have to restart the IIS server using the following commands from the command prompt:
Let’s discuss about the workers.properties and URI mapping files. There is a sample workers.properties available at C:\tomcat\native\iis\installer\conf.
The following screenshot shows the different configuration files, which are used for mod_jk configuration in IIS:
The workers.properties file consists of the following code:
# The workers that jk should create and work with
# Defining a worker named ajp13w and of type ajp13
# Note that the name and the type do not have to match.
# Defining a load balancer
# Define status worker
The uriworkermap.properties file consists of the following code:
# uriworkermap.properties – IIS
# This file provides sample mappings for example wlb
# worker defined in workermap.properties.minimal
# The general syntax for this file is:
# [URL]=[Worker name]
# Optionally filter out all .jpeg files inside that context
# For no mapping the url has to start with exclamation (!)
# Mount jkstatus to /jkmanager
# For production servers you will need to
# secure the access to the /jkmanager url
You can get more info on IIS and its integration from Apache site here.