0
votes

We upgraded from Tomcat 9.0.29 to 9.0.44 on a windows 10 machine and receive 503 error message. Tomcat hosts a Java application. Request to Tomcat server are sent from separate Apache proxy server over port 8010 as worker threads. I can see the Tomcat service is running and Java Application is up and running. This can be verified from //localhost:8080/{JavaApp} on the Tomcat Server.

However, request from Apache server are returned as 503 Service Unavailable The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

Version 9.0.29 works fine. All the config files were copied from 9.0.29 to 9.0.44 installation directory.

Any idea why 503 error??

2

2 Answers

1
votes

This issue has been resolve. Tomcat Version 9.0.44 requires new (default) parameters "secretRequired" and "secret" in its configuration. AJP is used proxy connection.

Also, a proxy forwarding request to Tomcat now require: worker..secret=blahblah before Tomcat will service requests from another machine.

This is outlined here: https://www.linuxquestions.org/questions/linux-server-73/new-java-tomcat-upgrade-giving-503-error-on-browser-and-mod_jk-unable-to-connect-4175688649/

0
votes

Copying the config files most likely is your problem. Never do that on upgrade.

Instead, Analyze what you've changed in 9.0.29's configuration and repeat those changes on the default for 9.0.44. Also, look at the changelog, as there may be several hints for some updated defaults.

Your question doesn't give any hints about your configuration, so it's only possible to make wild guesses for the root cause. In fact, I've voted to close as "needs debugging info", e.g. a minimal reproducible example

One change that I'm aware of is that the AJP connector needs a different configuration than before, but I don't even know if you're using AJP or HTTP for proxying. And even if that solves your immediate problem, you should still go through the whole changelog.