Discussion:
Forwarding URL with semicolon
Darren Foltinek
2003-10-29 18:40:20 UTC
Permalink
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=de3b35431cceb6ace0d398a198a8870c

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
Graham Leggett
2003-10-30 11:31:54 UTC
Permalink
Post by Darren Foltinek
The web application, running on Tomcat and built using Tapestry, is
/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
--
Dirk-Willem van Gulik
2003-10-30 20:03:41 UTC
Permalink
Post by Graham Leggett
Post by Darren Foltinek
The web application, running on Tomcat and built using Tapestry, is
/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).
Post by Graham Leggett
The URL should be /my/app?jessionid=BLAH
or - if the designer wanted the ; - have it octed escaped as %38

Dw

Loading...