This document explains how to set up the iPlanet Web Server to cooperate with Tomcat. The iPlanet Web Server was previously known under various names, including Netscape Enterprise Server, SunOne Web Server and Sun Enterprise System web server.
Normally the iPlanet Web Server comes with its own Servlet engine, but you can also configure it to send servlet and JSP requests to Tomcat using the NSAPI redirector plugin.
It is recommended that you also read the Workers HowTo document to learn how to setup the working entities between your web server and Tomcat Engines.
Document Conventions and Assumptions
${tomcat_home} is the root directory of tomcat. Your Tomcat installation should have the following subdirectories:
- ${tomcat_home}\conf - Where you can place various configuration files
- ${tomcat_home}\webapps - Containing example applications
- ${tomcat_home}\bin - Where you place web server plugins
In all the examples in this document ${tomcat_home} will be c:\tomcat. A worker is defined to be a tomcat process that accepts work from the iPlanet Web Server.
Supported Configuration
The NSAPI redirector was developed and tested on:
- WINNT 2000/XP/2003 (should be able to work with other service packs) and some Unixes
- Sun ONE Web Server 6.1
- Tomcat 4.1 to Tomcat 8.
The redirector uses the AJP protocol to send requests to the Tomcat containers. The AJP version typically used is ajp13.
Who supports AJP protocols?
Tomcat supports ajp13 since Tomcat 3.2. Others servlet engines such as Jetty or JBoss also support the ajp13 protocol
The ajp12 protocol has been deprecated and you should no longer use it. The ajp14 protocol is considered experimental.
How does it work ?
- The NSAPI redirector is a web server plugin based on the NSAPI web server API. The web server loads the NSAPI redirector plugin and calls its service handler function for all requests that are assigned to the "servlet" configuration object.
-
For each in-coming request the web server will execute the set of NameTrans directives
that we added to obj.conf, the assign-name function will check if it's
from
parameter matches the request URL. - If a match is found, assign-name will assign the servlet object name to the request. This will cause the web server to send the request to the servlet configuration object.
- The web server will execute our jk_service extension. The extension collects the request parameters and forwards them to the appropriate worker using the ajp13 protocol (the worker="defworker" parameter in jk_service inform it that the worker for this request is named defworker). the workers properties files, workers.properties, will indicate that defworker use ajp13 protocol.
- The extension collects the response from the worker and returns it to the browser.