Hi everyone,
I’ve run across a small problem using Pound which I’m
hoping someone can help me with.
I’ve installed Pound on one of our servers (nav-akl-pcn-280)
to act as the front end to a couple of backend servers. Requests for our
Factory server should go through to 192.168.10.21 and all other requests should
go through to 192.168.10.23. Now, this seems to work fine for the web services
we have running, but we also have a JSP website with servlets and that’s
where the problem starts.
In order to access the website users go to https://nav-akl-pcn-280/admin/index.jsp,
which correctly displays the index.jsp page from the server 192.168.10.23. The
user enters their login details and the login request is correctly sent through
to the login servlet (URL mapping of /servlet/login). The login servlet runs
correctly (I can see the debug output in the tomcat log) but when it tries to
send a redirect to a JSP page (java code: response.sendRedirect(response.encodeRedirectURL
("../index.jsp;jsessionid=992152334E08C6E9902030C649AAE13F")); ) the
browser firstly gets a security alert indicating ‘You are about to be
redirected to a connection that is not secure’ and once you click ‘Yes’
to continue the URL https://nav-akl-pcn-280/admin/servlet/login;jsessionid=992152334E08C6E9902030C649AAE13F,
which does not display as it is an incorrect URL.
Now, the user has been correctly logged in as if you change
the URL in the browser to the correct URL of https://nav-akl-pcn-280/admin/index.jsp;jsessionid=992152334E08C6E9902030C649AAE13F
then the website works fine from there on in until you try to logout, which
also uses a servlet and again the servlet is called, processes correctly but
the redirect to the login page (index.jsp) fails in a similar manner. Btw, the
only 2 servlets this site has are the login and logout servlets – it’s
a pretty basic site.
For some reason the URL Redirects used by the servlets aren’t
working correctly but I have no idea why. When I connect to the same backend
server via a different front end server running Apache, then the whole site
works fine.
Btw, Apache is not involved at all in the case where I’m
getting an invalid URL – the request goes straight from Pound to Tomcat.
Some extra information which might help to locate the
problem…
Pound config file…
ListenHTTPS *,443 /usr/local/etc/nav-akl-pcn-280.pem
#
LogLevel 2
#
URLGroup "/factory-jaxrpc.*"
Backend 192.168.10.21,8080,3
Session BASIC 0
EndGroup
#
URLGroup ".*"
Backend 192.168.10.23,8080,3
Session IP 3600
EndGroup
Pound Log…
Sep 7 10:00:31 nav-akl-pcn-280 pound: 192.168.12.33
GET /admin/index.jsp HTTP/1.1 - HTTP/1.1 200 OK (192.168.10.23:8080)
Sep 7 10:00:31 nav-akl-pcn-280 pound: 192.168.12.33
GET /admin/styles/registerbrowser.css HTTP/1.1 - HTTP/1.1 304 Not Modified
(192.168.10.23:8080)
Sep 7 10:00:37 nav-akl-pcn-280 pound: 192.168.12.33
POST /admin/servlet/login;jsessionid=F8BEF803F4427793A3AF3BE5CB17A0EC HTTP/1.1
- HTTP/1.1 302 Moved Temporarily (192.168.10.23:8080)
Tomcat Log…
2005-09-07 09:31:06,086 [http-8080-Processor24] DEBUG -
login servlet
2005-09-07 09:31:06,086 [http-8080-Processor24] DEBUG -
using existing session
2005-09-07 09:31:06,086 [http-8080-Processor24] DEBUG -
connecting to database
2005-09-07 09:31:06,405 [http-8080-Processor24] DEBUG -
authenticating login
2005-09-07 09:31:06,406 [http-8080-Processor24] DEBUG -
authentication passed
2005-09-07 09:31:06,406 [http-8080-Processor24] DEBUG -
redirecting to ../index.jsp;jsessionid=F8BEF803F4427793A3AF3BE5CB17A0EC
The following software versions are installed…
Pound 1.9
Tomcat 5
OpenSSL 0.9.8
Any assistance or guidance that anyone could provide in
solving this problem would be greatly appreciated.
Regards,
Sarah