You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by 陈俊宇 <ho...@gmail.com> on 2011/09/23 12:28:46 UTC

Different response with jsessionid in the request url between tomcat 6.0.32 and tomcat 6.0.33 for my project

Hi,
     I have been puzzling about this question for two days. There is little
relative information can be found with Google.
     Looking forward for help.  Any thought will be appreciated. Thanks a
lot. Here is the detail.
     The request like this
     "
http://www.local.com/pao/PixelTracking.ds;jsessionid=E6CFA65884A52297BC7A3BDDC4E6602.tomcat1?fn=home
"
     will go to different results between tomcat 6.0.32 and 6.0.33 with my
project.

      For the tomcat 6.0.32 : it got a jpg file , that is what I want

      For the tomcat 6.0.33  : it got a 404 error. But When I remove the
".tomcat1" in the url , the url will look like this :
       "
http://www.local.com/pao/PixelTracking.ds;jsessionid=E6CFA65884A52297BC7A3BDDC4E6602?fn=home
"
        It will get the jpg file .

      I test this with the following version of tomcat: 5.5.34 , 6.0.32 ,
6.0.33 , 7.0.20 , 7.0.21.
      The result is :  tomcat 5.5.34 behave the same like tomcat 6.0.32 .
                            tomcat 7.0.20 and tomcat 7.0.21 behave the same
like tomcat 6.0.33

      Setup :
          1. Windows 7 or  CentOS 5.1
          2. Apache 2.2.21. Use mod_proxy for load balance. The following is
the config file:


 ************************************************************************************
              ProxyPreserveHost On
              SSLProxyEngine On
              <Proxy balancer://mycluster>
                    BalancerMember http://127.0.0.1:8080 loadfactor=1
route=tomcat1
                    BalancerMember http://127.0.0.1:8090 loadfactor=1
route=tomcat2
                    ProxySet lbmethod=bybusyness
                    ProxySet stickysession=JSESSIONID|jsessionid
                    ProxySet scolonpathdelim=On
              </Proxy>
              ProxyPass /pao/ balancer://mycluster/pao/
              ProxyPassReverse /pao/ balancer://mycluster/pao/
              <VirtualHost *:80>
                    ServerAdmin honglangqq@gmail.com
                    ServerName www.local.com
                    DocumentRoot D:/amoy/wwwroot
                    UseCanonicalName Off
                    ErrorDocument 404 /404.html
                    ErrorLog "|/usr/sbin/cronolog
/var/log/httpd/%Y%m%d_httpd_error_log"
                    CustomLog "|/usr/sbin/cronolog
/var/log/httpd/%Y%m%d_httpd_access_log" combined

                   RequestHeader set X-Forwarded-Proto "http"
                   Header edit Set-Cookie "^JSESSIONID=(.*); Secure$"
JSESSIONID=$1
               </VirtualHost>

 ***********************************************************************************
             3. tomcat1 : CATALINA_BASE=D:\tomcat1, below is a fragment of
server.xml  for tomcat1
                         **********************************
                           <Engine name="Catalina" defaultHost="localhost"
jvmRoute="tomcat1" >
                              <Host name="localhost"  appBase="webapps"
unpackWARs="true" autoDeploy="true">
                                   <Context path="/pao" reloadable="false"
docBase="ehi"  swallowOutput="true" workDir="B:/_tomcat_work">
                                   </Context>
                       </Host>
                                .....
                           </Engine>
                         ****************************************
                 tomcat2 : CATANLIA_BASE=D:\tomcat2, below is a fragment of
server.xml for tomcat2
                           **********************************
                           <Engine name="Catalina" defaultHost="localhost"
jvmRoute="tomcat2" >
                              <Host name="localhost"  appBase="webapps"
unpackWARs="true" autoDeploy="true">
                                   <Context path="/pao" reloadable="false"
docBase="ehi"  swallowOutput="true" workDir="B:/_tomcat_work">
                                   </Context>
                       </Host>
                                .....
                           </Engine>
                         ****************************************
                   CATALINA_HOME:   D:\tomcat6.0.32    or   D:\tomcat6.0.33

Re: Different response with jsessionid in the request url between tomcat 6.0.32 and tomcat 6.0.33 for my project

Posted by 陈俊宇 <ho...@gmail.com>.
The issue what you have mentioned may be the key point to resolve the
problem.
I'll look into it and try what you have asked. Thanks.

2011/9/23 Konstantin Kolinko <kn...@gmail.com>

> 2011/9/23 陈俊宇 <ho...@gmail.com>:
> > Hi,
> >     I have been puzzling about this question for two days. There is
> little
> > relative information can be found with Google.
> >     Looking forward for help.  Any thought will be appreciated. Thanks a
> > lot. Here is the detail.
> >     The request like this
> >     "
> >
> http://www.local.com/pao/PixelTracking.ds;jsessionid=E6CFA65884A52297BC7A3BDDC4E6602.tomcat1?fn=home
> > "
> >     will go to different results between tomcat 6.0.32 and 6.0.33 with my
> > project.
> >
> >      For the tomcat 6.0.32 : it got a jpg file , that is what I want
> >
> >      For the tomcat 6.0.33  : it got a 404 error. But When I remove the
> > ".tomcat1" in the url , the url will look like this :
> >       "
> >
> http://www.local.com/pao/PixelTracking.ds;jsessionid=E6CFA65884A52297BC7A3BDDC4E6602?fn=home
> > "
> >        It will get the jpg file .
> >
>
>
> 6.0.33 and 7.0 are more closely following the Servlet specification
> and the jsessionid path parameter is exposed by some API where it was
> not exposed previously. It is mentioned in
> https://issues.apache.org/bugzilla/show_bug.cgi?id=51833
>
> It might be that whatever framework you are using to serve those *.ds
> requests has support for removing jsessionid path parameter, but e.g.
> does not expect "." in its value.
>
>
> If you are requesting a file directly (with a *.jsp URL) do you
> observe any problems?
>
> > (configuration details skipped)
>
> Best regards,
> Konstantin Kolinko
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>

Re: Different response with jsessionid in the request url between tomcat 6.0.32 and tomcat 6.0.33 for my project

Posted by Konstantin Kolinko <kn...@gmail.com>.
2011/9/23 陈俊宇 <ho...@gmail.com>:
> Hi,
>     I have been puzzling about this question for two days. There is little
> relative information can be found with Google.
>     Looking forward for help.  Any thought will be appreciated. Thanks a
> lot. Here is the detail.
>     The request like this
>     "
> http://www.local.com/pao/PixelTracking.ds;jsessionid=E6CFA65884A52297BC7A3BDDC4E6602.tomcat1?fn=home
> "
>     will go to different results between tomcat 6.0.32 and 6.0.33 with my
> project.
>
>      For the tomcat 6.0.32 : it got a jpg file , that is what I want
>
>      For the tomcat 6.0.33  : it got a 404 error. But When I remove the
> ".tomcat1" in the url , the url will look like this :
>       "
> http://www.local.com/pao/PixelTracking.ds;jsessionid=E6CFA65884A52297BC7A3BDDC4E6602?fn=home
> "
>        It will get the jpg file .
>


6.0.33 and 7.0 are more closely following the Servlet specification
and the jsessionid path parameter is exposed by some API where it was
not exposed previously. It is mentioned in
https://issues.apache.org/bugzilla/show_bug.cgi?id=51833

It might be that whatever framework you are using to serve those *.ds
requests has support for removing jsessionid path parameter, but e.g.
does not expect "." in its value.


If you are requesting a file directly (with a *.jsp URL) do you
observe any problems?

> (configuration details skipped)

Best regards,
Konstantin Kolinko

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org