We have a Java application running on Tomcat 7.0.52 on an Amazon Web Services EC2 Windows 2008 R2 server. Tomcat is setup so that our application is the root application and is accessible from port 80. The application and Tomcat are configured with SSL so that whenever anyone types in the url for the site (e.g. www.something.net) Tomcat will switch into HTTPS and use port 8443.
This all works fine, but it seems that if for some reason a browser times out when accessing the site, it will never connect to the site again, and any attempt to connect using www.something.net will show that the connection has timed out. Yet if you put in the port number (e.g., www.something.net:8443) it comes up right away. We have seen this happen on both Chrome (Version 35.0.1916.153 m) and Firefox (Version 30.0). On Chrome I was able to get the browser to connect to the site by going to Settings > Advanced > Clear Browser Data and clearing browser history, download history, cookies, and cached images and files. Once I did that the site came up immediately with www.something.net and switch to HTTPS as it is supposed to do. On Firefox, I get the same thing. It will not connect unless I add the port. I tried clearing cached web content, setting the cache limit to zero, and clearing offline web content. None of this worked. Re-installing Firefox did work. It took me several months to encounter this problem. But other users have encountered it right away (e.g., when setting up a new machine). Using browser development tools and Tomcat logs, I was able to see the following: . When working chrome send get to url. Tomcat responds with HTTP 302 and redirects to the secure port. The Tomcat localhost_access_log reflects these transmissions. . When not working, Firefox sends get to url, but no response is returned. The Tomcat localhost_access_log is blank. Can anyone shed any light on this? Is this a Tomcat issue or something to do with the browsers? Is there anything I can look for in the logs that may help? Bruce