US-CBP / GTAS

Global Travel Assessment System | A passenger data screening and analysis system for enhancing global security
https://us-cbp.github.io/GTAS/
Other
115 stars 77 forks source link

Tomcat HTTP Status 404 – Not Found on new install #2044

Open mfscripts opened 3 years ago

mfscripts commented 3 years ago

Hi,

I've done an install on a new CentOS server using the "Docker Usage Instructions.md". Everything went well however I'm seeing a Tomcat "HTTP Status 404 – Not Found" when trying to load the webapp.

I'm trying to load it via the public IP (rather than localhost), could this be the issue?

i.e. http://{public_ip}:8080/gtas

Thanks, Adam.

dje04001 commented 3 years ago

Hi Adam,

Any chance the CentOS firewall on the server isn't allowing access to port 8080? If that's not it, we can have someone more technical help you out. Thanks--

mfscripts commented 3 years ago

Hi,

I'm seeing a Tomcat response, so the firewall seems to be fine. It's just not loading the webapp for some reason.

Capture

I wondered if the Docker install was expecting localhost in the vhost? and if so, how to change it?

Thanks, Adam.

simbamarufu1 commented 3 years ago

Hi Adam,

Thanks for reaching out. That outcome can be symptomatic of a variety of different underlying problems. To further investigate we could use some more information generated by the application when it initially started. Can you provide logs?

If you're not terribly familiar with docker, these logs can be found by first finding the web-app Container ID using: docker container ls

Then subsequently running the following command after replacing the Container ID to save the application logs in a text file: docker container logs {CONTAINER ID}] > application-log.txt

Can you also share what happens when you attempt to connect to the application using the following path: https://localhost:8443/gtas

Regards, Simba

mfscripts commented 3 years ago

Hi,

Thanks for the response. Info below:

"application-log.txt" - application-log.txt

https://[PUBLIC_IP]:8443/gtas - Shows a cert error.

I also tried a wget on the server to http://localhost:8080/gtas encase it was a public IP issue and same 404:

[root@dev-gtas1 ~]# wget -O - http://localhost:8080/gtas --2021-04-26 08:25:29-- http://localhost:8080/gtas Resolving localhost (localhost)... ::1, 127.0.0.1 Connecting to localhost (localhost)|::1|:8080... connected. HTTP request sent, awaiting response... 404 2021-04-26 08:25:29 ERROR 404: (no description).

What's the best OS to use? This is on CentOS 7.9, but I've also tried Ubuntu 20. It's a new DigitalOcean droplet, so we can revert to another OS if needed.

mfscripts commented 3 years ago

Further to the above, I just tried again on a new Ubuntu 18 box. It shows a 404 also (on the url http://[public_ip]:8080/gtas). Info below:

Install commands

$ sudo apt-get update
$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
$ echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
$ sudo docker run hello-world
$ apt install git
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose

$ cd /opt
$ git clone https://github.com/US-CBP/GTAS.git
$ cd GTAS/
$ docker-compose up -d

Logs

application-log.txt

mfscripts commented 3 years ago

Hi,

Further update to the above...

I installed on a new CentOS 7 server using your guide here:

It's resulting in the same 404 issue when accessing the gtas url - http://[public_ip]:8080/gtas/login.html

I've enabled the Tomcat "manager app" and can see both the "/gtas-job-scheduler" & "/gtas" app listed.

Capture

The url http://[public_ip]:8080/gtas-job-scheduler also shows the form fine.

It's almost like none of the uri routing rules are there for gtas.

If I go to the /opt/apache-tomcat-9.0.37/webapps folder on the server, I see '/gtas'. Where would the url routes be defined? Is there anything else I can try to get this up and running?

Logs: catalina.2021-04-30.log

Thanks, Adam.

mfscripts commented 3 years ago

There are no files in /opt/apache-tomcat-9.0.37/webapps/gtas/ after deploying the war file, if that helps. Only a META-INF & WEB-INF folder.