Forwarding URL with semicolon

Forwarding URL with semicolon

am 29.10.2003 19:40:20 von Darren Foltinek

Hi,

I'm having problems using mod_proxy to connect Apache to Tomcat, so that
certain URL patterns are sent to Tomcat for processing.

These are the specifications within my Apache httpd.conf file (they are
inside a VirtualHost)

ProxyRequests On
ProxyPass /my/app http://192.168.1.102:8080/my/app
ProxyPassReverse /my/app http://192.168.1.102:8080/my/app

The web application, running on Tomcat and built using Tapestry, is
generating URLs that look like this:
/my/app;jsessionid=DE3B35431CCEB6ACE0D398A198A8870C

These URLs are NOT getting forwarded by Apache - instead, I am getting
error messages like this:

Not Found
The requested URL /my/app;jsessionid=DE3B35431CCEB6ACE0D398A198A8870C was
not found on this server.

And the Apache error_log shows:
[Wed Oct 29 10:58:36 2003] [error] [client 127.0.0.1] File does not exist:
/apache/htdocs/my/app;jsessionid=de3b35431cceb6ace0d398a198a 8870c

which shows that the URL is NOT being forwarded by mod_proxy, but Apache is
instead trying to load it like it was a file.

Anybody have an idea how to resolve this?

Thanks,
-- Darren

Re: Forwarding URL with semicolon

am 30.10.2003 12:31:54 von Graham Leggett

Darren Foltinek wrote:

> The web application, running on Tomcat and built using Tapestry, is
> generating URLs that look like this:
> /my/app;jsessionid=DE3B35431CCEB6ACE0D398A198A8870C
^

This is not a valid URL - I suspect Apache is seeing either the ";", or
the "=", and ignoring the request on that basis.

The URL should be /my/app?jessionid=BLAH

Regards,
Graham
--

Re: Forwarding URL with semicolon

am 30.10.2003 21:03:41 von Dirk-Willem van Gulik

> > The web application, running on Tomcat and built using Tapestry, is
> > generating URLs that look like this:
> > /my/app;jsessionid=DE3B35431CCEB6ACE0D398A198A8870C
>
> This is not a valid URL - I suspect Apache is seeing either the ";", or
> the "=", and ignoring the request on that basis.

RFC2369 - section 2.2 - reserved char - so apache delimits it on the ;
(i.e. breaks it at the 'right' point it seems - the remainder may end up
with cgi).

> The URL should be /my/app?jessionid=BLAH

or - if the designer wanted the ; - have it octed escaped as %38

Dw