ResolutionTomcat applications are accessible on port 9080 of a domain: http://domain.com:9080/app-name. To make them accessible on a regular port, i.e., http://domain.com/app-name, the Tomcat ISAPI redirecting filter is used. Encountering a “404 Not Found” error when accessing an application at http://domain.com/app-name indicates a problem with this filter. Use the following steps to determine the reason for the problem:
1. Open the IIS management console.
2. Navigate to Web Sites properties > ISAPI filters tab.
3. The Jakarta ISAPI filter should be present and have a “Loaded” status.
If there is no such filter, then it should be added. To do this, click on the "Add" button and choose %plesk_dir%\isapi\isapi_redirect.dll. Set the filter name, e.g., jakarta, and сlick OK.
4. The Jakarta ISAPI filter should be allowed as a Web service extension; it can be checked here: IIS, Web Service Extensions, Tomcat Redirector
If there is no such filter, it should be added. To add it, right-click on IIS Web Service Extensions > Add new Web Service Extension, and choose %plesk_dir%\isapi\isapi_redirect.dll. Set the Extension name, e.g., Tomcat Redirector and click OK.
5. Worker files for the Jakarta ISAPI filter should be available:
If there are no such files, they should be created. The default uriworkermap.properties and workers.properties files are attached to this article. Tomcat services then need to be re-enabled on the domains where applications are installed to update the worker files.
6. Registry records for the Tomcat redirector should be set up correctly:
[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0]
extension_uri = /jakarta/isapi_redirect.dll
log_level = emerg
log_file = C:\Program Files\SWsoft\Plesk\Additional\Tomcat\LogFiles\jakarta.log
worker_file = C:\Program Files\SWsoft\Plesk\isapi\workers.properties
worker_mount_file = C:\Program Files\SWsoft\Plesk\isapi\uriworkermap.properties
7. All domain names in the following file should resolve to the correct IP addresses in the DNS: %plesk_dir%\isapi\workers.properties
If there is at least one domain that cannot be resolved to an IP in the DNS, the ISAPI filter will not work. In such a case, none of the Tomcat applications on the server would be accessible. So, if some unresolved domains are present in that file, Tomcat service needs to be disabled for these domains using the control panel. Another solution in this case would be to use the localhost as a primary DNS server. In that case, all domains would be resolved.