1 2 Previous Next 15 Replies Latest reply on Nov 9, 2006 12:23 AM by thanvi

    IIS Integration with jboss-3.2.1_tomcat-4.1.24

    hepcatjk

      I am sure this question has been asked about a thousand times, however I cannot find a good step by step answer for a newbie to Jboss. I used the integration to tomcat and that worked fine with IIS, but when I tried the same steps with JBOSS running it did not work.

      some problems:
      1) could not get the isapi_redirector.dll to load properly ( show a green arrow ) when adding a filter to the IIS
      2) did not know if I need to modify any files on the jboss side?

      thanks is advance for any help any one can offer, my email address is 57kider@cua.edu

        • 1. Re: IIS Integration with jboss-3.2.1_tomcat-4.1.24
          jonlee

          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.

          • 2. Re: IIS Integration with jboss-3.2.1_tomcat-4.1.24
            thudacko

            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):

            http://www.onjava.com/pub/a/onjava/2002/12/18/tomcat.html?page=1
            http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/jk/iishowto.html
            http://jakarta.apache.org/tomcat/tomcat-3.3-doc/tomcat-iis-howto.html

            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]
            "extension_uri"="/jakarta/isapi_redirect.dll"
            "log_file""="C:\\Tomcat\\logs\isapi.log"
            "log_level"="error"
            "worker_file"="C:\\Tomcat\\conf\\workers.properties"
            "worker_mount_file"="C:\\Tomcat\\conf\\uriworkermap.properties"

            2) The standalone Tomcat configuration:
            TOMCAT_HOME is C:\Tomcat

            Contents of C:\Tomcat\workers.properties:
            worker.list=ajp13
            worker.ajp13.host=localhost
            worker.ajp13.port=8009
            worker.ajp13.type=ajp13

            Contents of C:\Tomcat\uriworkerproperties:
            /examples/*=ajp13
            /examples/*.jsp=ajp13
            /examples/servlet/*=ajp13

            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:
            http://www.jboss.org/modules/bb/index.html?module=bb&op=viewtopic&t=

            • 3. Re: IIS Integration with jboss-3.2.1_tomcat-4.1.24
              davidwei

              I have had the same question for a long time. Can someone from this group really offer some help?

              Big thanks,
              David Wei

              • 4. Re: IIS Integration with jboss-3.2.1_tomcat-4.1.24
                jonlee

                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.

                • 5. Re: IIS Integration with jboss-3.2.1_tomcat-4.1.24
                  jzanardo

                  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)

                  ------------------------------------

                  STEP 1:

                  Download and extract the following zip file into a temporary directory: http://www.unlimitedftp.ca/help/tomcatiis.zip


                  STEP 2:

                  Move the files bin/isapi_redirect.dll and server/lib/ajp.jar to the directory <JBoss_home>\server\default\deploy\jbossweb-tomcat41.sar


                  STEP 3:

                  Move the following files to the directory <JBoss_home>\server\default\deploy\jbossweb-tomcat41.sar\META-INF :
                  - conf/worker.properties
                  - conf/uriworkermap.properties
                  - conf/iis_redirect.reg


                  STEP 4:

                  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:

                  REGEDIT4
                  [HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0]
                  "extension_uri"="/jakarta/isapi_redirect.dll"
                  "log_file"="C:\\jboss-3.2.1\\server\\default\\deploy\\jbossweb-tomcat41.sar\\META-INF\\iis_redirect.log"
                  "log_level"="emerg"
                  "worker_file"="C:\\jboss-3.2.1\\server\\default\\deploy\\jbossweb-tomcat41.sar\\META-INF\\worker.properties"
                  "worker_mount_file"="C:\\jboss-3.2.1\\server\\default\\deploy\\jbossweb-tomcat41.sar\\META-INF\\uriworkermap.properties"

                  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".


                  STEP 5:

                  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.

                  worker.tomcat_home=C:\jboss-3.2.1\server\default\deploy\jbossweb-tomcat41.sar

                  worker.java_home=C:\jdk1.4.2


                  STEP 6:

                  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.

                  Ex: /application_name/*=ajp13


                  STEP 7:

                  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.


                  STEP 8:

                  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.


                  STEP 9:

                  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.


                  STEP 10:

                  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.


                  STEP 11:

                  Restart the computer.

                  • 6. Re: IIS Integration with jboss-3.2.1_tomcat-4.1.24
                    dcp01

                    What if IIS is on another box from JBoss-Tomcat ?

                    • 7. Re: IIS Integration with jboss-3.2.1_tomcat-4.1.24

                      dcp01 have you succeed With IIS and Jboss on different machine ? If so could you please tell how

                      • 8. Re: IIS Integration with jboss-3.2.1_tomcat-4.1.24
                        johnnycannuk

                        jzanardo-

                        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.

                        M

                        • 9. Re: IIS Integration with jboss-3.2.1_tomcat-4.1.24
                          keanthian

                          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..

                          • 10. Re: IIS Integration with jboss-3.2.1_tomcat-4.1.24
                            keanthian

                            hi all,
                            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?

                            thanks.

                            • 11. Re: IIS Integration with jboss-3.2.1_tomcat-4.1.24
                              itshastra

                              Does anybody knows about how to integrate IIS 5.0 with Jboss 4.0 where both are on different PCs.

                              • 12. Re: IIS Integration with jboss-3.2.1_tomcat-4.1.24
                                mmoinikunta

                                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.

                                • 13. Re: IIS Integration with jboss-3.2.1_tomcat-4.1.24
                                  alps

                                  Hi all,

                                  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..

                                  • 14. Re: IIS Integration with jboss-3.2.1_tomcat-4.1.24
                                    mhwilson

                                    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?

                                    Thanks,

                                    Mike

                                    1 2 Previous Next