Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
mfscripts opened this issue Apr 23, 2021 · 7 comments
Open

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

mfscripts opened this issue Apr 23, 2021 · 7 comments

Comments

@mfscripts
Copy link

mfscripts commented Apr 23, 2021

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
Copy link
Contributor

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
Copy link
Author

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
Copy link
Contributor

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
Copy link
Author

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
Copy link
Author

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
Copy link
Author

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
Copy link
Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants