The basics (I hope) are covered in this:
http://www.jboss.org/modules/bb/index.html?module=bb&op=viewtopic&t= skip over the Apache stuff but the rest applies to the embedded Tomcat (or Jetty) in JBoss. It is just a JK2 service listener waiting for JK2/AJP13 requests to come in.
I can't help too much with IIS ISAPI installation as I am IIS averse (I haven't tried to install a JK2 filter although I have installed both the JK filter and the HAHT filter). Do make sure you have the JK2 ISAPI dll.
Hope it helps.
I am having similar issues with the IIS to jboss-3.2.1_tomcat-4.1.24 integration. All the examples here on the forums plus elsewhere on the net seem to refer mostly to integrating IIS with the _standalone_ Tomcat with the isapi_redirect.dll (v.1.2.4):
These are essentially the same recipe and it works fine for IIS and STANDALONE tomcat-4.1.24 on Windows 2000. However, I cannot make this work when substituting either JBoss/Tomcat or JBoss/Jetty for the standalone Tomcat. Why? What needs to be changed ??
1) The IIS side of the configuration:
Added virtual directory to Default Web Site of IIS named "jakarta" that points to C:\Tomcat\bin which is where the isapi_redirect.dll is located. The virtual directory has read, write and execute permissions.
Via the IIS manager window, I added an ISAPI filter named "jakarta" to the default website. The executable path of the filter is C:\Tomcat\bin\isapi_redirect.dll
The green up arrow displays positive status for the filter.
The Windows registry entries are as follows:
[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation]
[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector]
[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0]
2) The standalone Tomcat configuration:
TOMCAT_HOME is C:\Tomcat
Contents of C:\Tomcat\workers.properties:
Contents of C:\Tomcat\uriworkerproperties:
3) According to this thread, "there is nothing to be done on the servlet container side of things except configuring the socket listener. By default, these are enabled in the distribution." I have confirmed that the JK2/ajp13 listener is started on 8009. What else needs to be done or changed?
http://www.jboss.org/modules/bb/index.html?module=bb&op=viewtopic&t= other threads were related, but not particularly helpful to my issue:
I have had the same question for a long time. Can someone from this group really offer some help?
I would try changing the log_level on the ISAPI redirector. Try and get some debug information on what communications are going on and what steps are being taken by the redirector.
When using the standalone Tomcat, is it already started? Or does an access through IIS cause the startup of Tomcat? This is important because JNI does not work AFAIK for an embedded Tomcat. This is because JBoss controls Tomcat. JNI operation expects the web server (I only have experience with Apache in this regard) to start Tomcat in the web server process space. This is somewhat difficult as you can't start the embedded Tomcat without starting JBoss (the Tomcat standalone boot-up is missing) - and the IIS-side process doesn't know how to start JBoss.
How to integrate IIS to JBOSS-Tomcat
This note is a howto procedure to make IIS redirect JSP's and servlets execution to JBoss application server. It works.
By Fabiane Nardon, Juliano Zanardo
IIS version: 5.0
JBoss-Tomcat version: 3.2.1 (with integrated Tomcat 4.1.24)
Download and extract the following zip file into a temporary directory: http://www.unlimitedftp.ca/help/tomcatiis.zip
Move the files bin/isapi_redirect.dll and server/lib/ajp.jar to the directory <JBoss_home>\server\default\deploy\jbossweb-tomcat41.sar
Move the following files to the directory <JBoss_home>\server\default\deploy\jbossweb-tomcat41.sar\META-INF :
Edit the file iis_redirect.reg with Notepad to reflect the location where you installed JBoss. For example, if you installed JBoss at C:\\jboss-3.2.1, then the file would be located at C:\jboss-3.2.1\server\default\deploy\jbossweb-tomcat41.sar\META-INF\iis_redirect.reg and would look like this:
[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0]
Save this file, and then double click on it. You will be asked whether you want to add this information to your registry. Click "Yes".
Edit the file <JBoss Directory>\server\default\deploy\jbossweb-tomcat41.sar\META-INF\worker.properties with Notepad to reflect the location where you installed the JDK and JBoss. i.e.
Edit the file <JBoss Directory>\server\default\deploy\jbossweb-tomcat41.sar\META-INF\uriworkermap.properties with Notepad to register the URL's that will be executed by JBoss.
Set the AJP connector in the <JBoss Directory>\server\default\deploy\jbossweb-tomcat41.sar\META-INF\jboss-service.xml file.
Include the following:
<!-- A AJP 1.3 Connector on port 8009
If there is another connector setting the port 8009, comment it.
Start the Internet Services Manager
Go to Default Web Site and add a New Virtual Directory called Jakarta which points to C:\jboss-3.2.1\server\default\deploy\jbossweb-tomcat41.sar or wherever you installed JBoss.
Provide only read and execute privileges for security purposes.
You must now define JBoss as a filter in IIS.
1. Right click on the server, at the Internet Services Manager, and select Properties.
2. Select WWW Service and then click Edit.
3. Select ISAPI Filters and then click Add.
4. Browse the file C:\jboss-3.2.1\server\default\deploy\jbossweb-tomcat41.sar\isapi_redirect.dll and set the filter namo to Jakarta.
After adding the isapi filter, the status will be a red down arrow. You need to stop the IIS server, and start the IIS server. The status should now be green.
Create one IIS virtual directory for each JBoss application that you will run. The virtual directory name must be the same as the JBoss application and it will point to some directory where a default.htm or index.htm file must exists.
The default.htm file must contain the following:
<META HTTP-EQUIV="refresh" CONTENT="0;URL=http://localhost/application_name/">
Where application_name is the name of your JBoss application.
Restart the computer.
What if IIS is on another box from JBoss-Tomcat ?
dcp01 have you succeed With IIS and Jboss on different machine ? If so could you please tell how
Excellent instructions but one small change.....
There is aparrently a bug in the isapi_redirector.dll that, for some reason, does not let POST data in a request through to the Tomcat instance bundled with JBoss.
While this gave us fits for a few hours, we solved the problem by leaving the following in the $JBOSS_HOME\server\default\deploy\jbossweb-tomcat41.sar\META-INF\jboss-service.xml:
<!-- A AJP 1.3 Connector on port 8009 -->
Our app now works fine and handles POST data request parameters no problem.
BTW, the only difference is that we are using 3.2.2...I hope this helps somebody else.
Did anyone try before IIS+JBoss with SSL using isapi_redirect.dll?
My applicaiton is required to read client certificate, my problem now is when my client posts a HTTPS request via IIS, when the request reaches my applicaton (which running in JBoss), it won't be able to read the client certificate. Is it because IIS has filtered client's certificate?
Below is the sample code on how i read client certificate.
X509Certificate x509certs = (X509Certificate) request.getAttribute("javax.servlet.request.X509Certificate");
please advice..thanks a lot..
I found the problem.
The reason why client's certiicate is not passes to JBoss is because IIS did not trust the client's certificate. I solve this issue by trusting client's certificate and it works fine.
Client will be redirected to my application even though client's certificate is not trusted by JBoss Application Server. Therefore, in order to prevent unauthorised access, I have to programmatically perform validation on client's certificate against cacerts.
Is this the correct way?
Does anybody knows about how to integrate IIS 5.0 with Jboss 4.0 where both are on different PCs.
I am trying to integrate IIS6.0 with Jboss 3.2.5,
The isapi dll is getting loaded in the IIS filter, but the page is not getting redirected to the application,
can anyone help me on this.
I want to intergrate IIS with jboss3.2.5 , for that i have implemented all the 11 steps described by jzanardo , but still its not working , it does not give any error , but when try to run the script , gives "page can't be displayed message"..
Can any one point out the possible solution..
Thanks in advance..
In all of this, must you use the Default Web Site?
I have been unable to get Jboss 4.0 to work with SSO, IIS6 and the mod_jk files from Tomcat 5.0. I am trying to use this with an application named Tririga. Their tech supports say onyl the Default eb Site will work. Is this true?