4 Replies Latest reply on Jun 20, 2005 12:28 PM by Kevin Convy

    Problem with a large request body requiring basic authentica

    Kevin Convy Newbie


      I am running with the following configuration on Solaris:

      - An IPlanet 6.1 web server with an NSAPI redirector
      - JBoss 4.0.2 with Tomcat 5.5 embedded

      On the web server certain requests are forwarded through the redirector to JBoss, and these request both require basic authentication and have data in the request body. When the request body is less than 8K (the AJP packet size) the request is processed without any problem. However, if the request body is over 8K I get a write error on the client.

      Looking at the logs for the nsapi redirector I see that Tomcat does not read the entire request body (by sending a GET_BODY_CHUNK according to the AJP protocol) when an authorization negotiation is required. If I include the http authorization header in the initial request (and therefore the negotiation step is not required) it works fine, but this is not an option for us.

      I couldn't find any references to this issue in the forums or bug database, but possibly I missed it. It seems like a problem with the AJP implementation in Tomcat 5.5, so possibly I should be posting this to the Tomcat groups.

      Has anyone else run into this?

      Any information would be appreciated.

      Kevin Convy

        • 1. Re: Problem with a large request body requiring basic authen
          aholyoak Newbie

          Hi Kevin,

          Unfortunately I can't help with your question. However we are having trouble getting iPlanet 6.1 and Jboss 4.0.2 to connect properly. Do you have any info about getting this working?

          many thanks


          • 2. Re: Problem with a large request body requiring basic authen
            Kevin Convy Newbie

            Hi Andy,

            I don't know what level of difficulties your having so I'll give you a brief synopsis of what we had to do:

            - Download the jakarta-tomcat-connectors source and build the nsapi_redirector.so for Solaris (netscape in the source). We use 1.2.8.

            - Edit the magnus.conf and obj.conf to have iplanet load and map to the redirector.

            - Create a workers.properties file describing the workers and how they connect to tomcat (jboss).

            If you have followed these steps already, maybe you could give me a little more detail on the issues you are having and I could offer more helpful information.


            • 3. Re: Problem with a large request body requiring basic authen
              Chris Sills Newbie


              I work with Andy and am trying to pick this piece of work up.
              (A bit of background info)I am a systems architect and provide installation, configuration etc support to the development team, I have plenty of experience with iPlanet but I/we have very little expereince of compiling in C. Which is the bit I'm struggling with.
              I've got jboss 4.0.3 up and running which the development team are now working with. I have set up the iP. web server and I thought I'd got the compile to work.

              I have unpacked the 1.2.13 version of the connectors source into the default dir, found what I thought is the correct file "./jakarta-tomcat-connectors-1.2.13-src/jk/native/netscape/jk_nsapi_plugin.c" and run the following
              /usr/ccs/lib/cpp ./jakarta-tomcat-connectors-1.2.13-src/jk/native/netscape/jk_nsapi_plugin.c nsapi_redirector.so.

              This produced a file called nsapi_redirector.so.
              However when I tried to restart the web server with the redirect file it all went belly up?
              I'm assuming the 'compiled file' is not right?

              I'm sorry if this is a bit long winded and probably in the wrong forum, please feel free to move it



              • 4. Re: Problem with a large request body requiring basic authen
                Kevin Convy Newbie


                There is quite a bit more to building the redirector than what you have here. You should look at the Makefile.solaris in jk/native/netscape.