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