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