[
https://issues.jboss.org/browse/MODCLUSTER-443?page=com.atlassian.jira.pl...
]
Aaron Ogburn edited comment on MODCLUSTER-443 at 11/18/14 10:37 AM:
--------------------------------------------------------------------
I'm able to reproduce the customer issue consistently with the latest versions. Extra
debug logs were showing that find_node_context_host includes the ;jsessionid in the
context that it searches for on the balancer:
{code}
[Mon Nov 17 15:40:01 2014] [debug] mod_proxy_cluster.c(2948): proxy_cluster_trans for 0
(null) (null) uri: /helloworld;jsessionid=blablabla args: (null) unparsed_uri:
/helloworld;jsessionid=blablabla
[Mon Nov 17 15:40:01 2014] [debug] mod_proxy_cluster.c(2769): cluster:
balancer://mycluster Found value blablabla for stickysession JSESSIONID|jsessionid
[Mon Nov 17 15:40:01 2014] [debug] mod_proxy_cluster.c(2769): cluster:
balancer://mycluster Found value blablabla for stickysession JSESSIONID|jsessionid
[Mon Nov 17 15:40:01 2014] [debug] mod_proxy_cluster.c(1943): find_node_context_host:
/helloworld;jsessionid=blablabla node: 1 vhost: 1 context: /helloworld
[Mon Nov 17 15:40:01 2014] [debug] mod_proxy_cluster.c(3012): proxy_cluster_trans DECLINED
(null) uri: (null) unparsed_uri: /helloworld;jsessionid=blablabla
[Mon Nov 17 15:40:01 2014] [error] [client 127.0.0.1] File does not exist:
/apache/htdocs/helloworld;jsessionid=blablabla
{code}
So we can't even get a "/context;jsessionid=..." request to proxy from httpd
to JBoss through mod_cluster. Session data and servlet mappings don't enter the
equation.
was (Author: aogburn):
I'm able to reproduce the customer issue consistently with the latest versions. Extra
debug logs were showing that find_node_context_host includes the ;jsessionid in the
context that it searches for on the balancer:
{code}
[Mon Nov 17 15:40:01 2014] [debug] mod_proxy_cluster.c(2948): proxy_cluster_trans for 0
(null) (null) uri: /helloworld;jsessionid=blablabla args: (null) unparsed_uri:
/helloworld;jsessionid=blablabla
[Mon Nov 17 15:40:01 2014] [debug] mod_proxy_cluster.c(2769): cluster:
balancer://mycluster Found value blablabla for stickysession JSESSIONID|jsessionid
[Mon Nov 17 15:40:01 2014] [debug] mod_proxy_cluster.c(2769): cluster:
balancer://mycluster Found value blablabla for stickysession JSESSIONID|jsessionid
[Mon Nov 17 15:40:01 2014] [debug] mod_proxy_cluster.c(1943): find_node_context_host:
/helloworld;jsessionid=blablabla node: 1 vhost: 1 context: /helloworld
[Mon Nov 17 15:40:01 2014] [debug] mod_proxy_cluster.c(3012): proxy_cluster_trans DECLINED
(null) uri: (null) unparsed_uri: /helloworld;jsessionid=blablabla
[Mon Nov 17 15:40:01 2014] [error] [client 127.0.0.1] File does not exist:
/apache/htdocs/helloworld;jsessionid=blablabla
[Mon Nov 17 15:40:03 2014] [debug] mod_manager.c(1907): manager_trans STATUS (/)
{code}
So we can't even get a "/context;jsessionid=..." request to proxy from httpd
to JBoss through mod_cluster. Session data and servlet mappings don't enter the
equation.
mod_cluster doesn't recognize ; as a proper context delimiter
causing 404s on requests with URL jsessionids
-----------------------------------------------------------------------------------------------------------
Key: MODCLUSTER-443
URL:
https://issues.jboss.org/browse/MODCLUSTER-443
Project: mod_cluster
Issue Type: Bug
Components: Native (httpd modules)
Affects Versions: 1.2.9.Final, 1.3.1.Alpha2
Reporter: Aaron Ogburn
Assignee: Jean-Frederic Clere
This is similar to MODCLUSTER-328, but in regards to ; instead of ?.
mod_cluster does not recognize ; as a delimiter when checking the request context. Thus
with no trailing slash on index page requests, it treats ;jsessionid as part of the
request context and tries to check the balancer for a deployed context of
/helloworld;jsessionid=..., which doesn't exist and 404s. Adding the trailing slash,
mod_cluster can properly delimit this and then sees the context (so
/helloworld/;jsessionid=... works just fine).
--
This message was sent by Atlassian JIRA
(v6.3.8#6338)