Skip to content

Commit

Permalink
Issue 52415:Adjust configuration for Tomcat error pages
Browse files Browse the repository at this point in the history
  • Loading branch information
labkey-jeckels committed Feb 28, 2025
1 parent 999ba3e commit cf87817
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package org.labkey.embedded;

import org.apache.catalina.valves.ErrorReportValve;

/** Issue 52415: Allow for Configuration of Default Error Page */
public class LabKeyErrorReportValve extends ErrorReportValve
{
public LabKeyErrorReportValve()
{
// Don't show Tomcat version info on its 404 and other error pages
setShowServerInfo(false);
}
}
6 changes: 5 additions & 1 deletion server/embedded/src/org/labkey/embedded/LabKeyServer.java
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,11 @@ public static void main(String[] args)

"server.tomcat.accesslog.enabled", "true",
"server.tomcat.accesslog.pattern", "%h %l %u %t \"%r\" %s %b %D %S %I \"%{Referer}i\" \"%{User-Agent}i\" %{LABKEY.username}s %{X-Forwarded-For}i",
"jsonaccesslog.pattern", "%h %t %m %U %s %b %D %S \"%{Referer}i\" \"%{User-Agent}i\" %{LABKEY.username}s %{X-Forwarded-For}i"
"jsonaccesslog.pattern", "%h %t %m %U %s %b %D %S \"%{Referer}i\" \"%{User-Agent}i\" %{LABKEY.username}s %{X-Forwarded-For}i",

// Issue 52415: Omit stack traces from Tomcat error pages by default, but propagate error messages
"server.error.include-stacktrace", "never",
"server.error.include-message", "always"
));
application.setBannerMode(Banner.Mode.OFF);
application.run(args);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
package org.labkey.embedded;

import org.apache.catalina.Container;
import org.apache.catalina.Host;
import org.apache.catalina.core.StandardContext;
import org.apache.catalina.core.StandardHost;
import org.apache.catalina.loader.WebappLoader;
import org.apache.catalina.startup.Tomcat;
import org.apache.catalina.valves.JsonAccessLogValve;
Expand Down Expand Up @@ -54,6 +56,14 @@ public LabKeyTomcatServletWebServerFactory(LabKeyServer server)
}
}
});

addContextCustomizers(context -> {
final Container parent = context.getParent();
if (parent instanceof StandardHost sh)
{
sh.setErrorReportValveClass(LabKeyErrorReportValve.class.getName());
}
});
}

@Override
Expand Down

0 comments on commit cf87817

Please sign in to comment.