Usually the problem is the reverse, but in my case, I can connect to Atlas from a remote host, but when I try to connect via the localhost that runs Tomcat, the browser page just spins with the Atlas logo. Conversely AchillesWeb works fine both locally and remotely, also running within Tomcat. Note, I am using Tomcat to host both the web pages and the WebAPI .jar file (I tried first to do the web hosting with Apache Web Server, and couldn’t figure out the system administration).
When I look at the the localhost_access_log for Tomcat for the unsuccessful page load (localhost:8080/Atlas), I see only the following (the web page endlessly shows the Atlas spinning logo):
::1 - - [03/Oct/2016:08:27:36 -0600] "GET /Atlas HTTP/1.1" 302 -
::1 - - [03/Oct/2016:08:28:37 -0600] "GET /Atlas HTTP/1.1" 302 -
The successful remote access of Atlas (hostname.edu:8080/Atlas) shows the logo, then advances to the functional home page. The analogous log messages for the successful remote host page load are:
64.234.168.192 - - [03/Oct/2016:08:54:55 -0600] "GET /Atlas HTTP/1.1" 302 -
64.234.168.192 - - [03/Oct/2016:08:54:56 -0600] "GET /Atlas/js/components/home.js HTTP/1.1" 200 710
64.234.168.192 - - [03/Oct/2016:08:54:56 -0600] "GET /Atlas/js/components/home.html HTTP/1.1" 200 2260
64.234.168.192 - - [03/Oct/2016:08:54:56 -0600] "GET /Atlas/js/fonts/fontawesome-webfont.woff2?v=4.4.0 HTTP/1.1" 200 64464
64.234.168.192 - - [03/Oct/2016:08:54:56 -0600] "GET /Atlas/js/images/sort_both.png HTTP/1.1" 200 1136
64.234.168.192 - - [03/Oct/2016:08:54:56 -0600] "GET /Atlas/js/images/sort_desc.png HTTP/1.1" 200 298
I’m guessing the localhost failure to advance to the home page may have something to do with a redirect not working (perhaps related to WebAPI?) – does anyone have thoughts on what could be wrong or how to go about troubleshooting? I am running RedHat Linux Workstation release 7.2.
By the way, to get Atlas to work on Tomcat there are numerous system configuration issues to be aware of that took me many hours to sort out:
-
Tomcat needs SSL to be configured and a certificate created. Useful instructions are here. I ended up with this statement in my /etc/tomcat/server.xml file:
<Connector port="8443" maxHttpHeaderSize="1048576" protocol="org.apache.coyote.http11.Http11Protocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" keystoreFile="/etc/tomcat/.keystore" keystorePass="password123" clientAuth="false" sslProtocol="TLS" />
-
Beware needed ports tied up by other processes – in my case VMware was using port 443.
-
Beware issues with necessary ports not being open with your firewall (e.g. 5432, 80, 443, 8080, 8443).
-
Beware issues with postgres not accepting necessary connections (modify pg_hba.conf).
-
It is really easy to have the wrong settings in your webapi.source and webapi.source_daimon tables that make WebAPI fail.