SSL Connection Reset after 5 minutes

I have a web application running on 6.1 SP7. The app is running under ssl and connects to another app also running ssl. The first application requests a large file from the second. But after 5 minutes the first application fails with:

[15/May/2007:14:57:42] warning (14366): CORE3283: stderr: java.net.SocketException: Connection reset

The second application continues to pull together the file to send but then also fails when it tries to write the file back because the connection has been reset.

The SSLSessionTimeOut is set to 28800 for both web servers

This problem seems like I've missed a timeout setting somewhere.

Thanks for any help!

[681 byte] By [safsadfasfa] at [2007-11-27 4:28:09]
# 1

Connection reset errors are unrelated to SSLSessionTimeout. SSLSessionTimeout controls how long an SSL session can sit idle before the server will refuse to resume that session. Note that there isn't a 1:1 relationship between SSL sessions and connections; a given SSL session can be used by multiple connections. Connection reset errors occur when a peer closes the connection.

Unfortunately, you'll need to debug the application to figure out why it's closing the connection. I assume that your application is implemented as a Servlet. I'm not aware of any Servlet container -- Web Server included -- that will close a connection before the Servlet returns or explicitly closes the connection.

elvinga at 2007-7-12 9:36:51 > top of Java-index,Web & Directory Servers,Web Servers...
# 2

I overlooked one obvious possibility: there may be a firewall or other network device between your two applications that is aborting the connection without the consent of either application. A network packet trace on the two nodes could confirm whether this is the case. If it is, you'll need to fix the firewall.

elvinga at 2007-7-12 9:36:51 > top of Java-index,Web & Directory Servers,Web Servers...
# 3

Thanks for your quick response Elving. We removed the ssl and got the same connection reset so that confirms your response. This is a servlet application. Are you saying the following code should in theory wait indefinitely for a response?

URLConnection con = servlet.openConnection();

con.connect();

//get the response code

int responseCode = ((HttpURLConnection) con).getResponseCode();

System.out.println("Response code: " + responseCode);

safsadfasfa at 2007-7-12 9:36:51 > top of Java-index,Web & Directory Servers,Web Servers...
# 4
It's possible for an URLConnection to time out -- I believe the default timeouts vary across Java versions and couldn't be controlled by applications until Java SE 5.0 -- but that would result in a java.net.SocketTimeoutException, not a java.net.SocketException.
elvinga at 2007-7-12 9:36:51 > top of Java-index,Web & Directory Servers,Web Servers...
# 5
Once again you save me Elving! The problem was the load balancer between the two servers. Thanks!
safsadfasfa at 2007-7-12 9:36:51 > top of Java-index,Web & Directory Servers,Web Servers...