Skip to content

Commit cf87817

Browse files
Issue 52415:Adjust configuration for Tomcat error pages
1 parent 999ba3e commit cf87817

File tree

3 files changed

+28
-1
lines changed

3 files changed

+28
-1
lines changed
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package org.labkey.embedded;
2+
3+
import org.apache.catalina.valves.ErrorReportValve;
4+
5+
/** Issue 52415: Allow for Configuration of Default Error Page */
6+
public class LabKeyErrorReportValve extends ErrorReportValve
7+
{
8+
public LabKeyErrorReportValve()
9+
{
10+
// Don't show Tomcat version info on its 404 and other error pages
11+
setShowServerInfo(false);
12+
}
13+
}

server/embedded/src/org/labkey/embedded/LabKeyServer.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,11 @@ public static void main(String[] args)
7575

7676
"server.tomcat.accesslog.enabled", "true",
7777
"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",
78-
"jsonaccesslog.pattern", "%h %t %m %U %s %b %D %S \"%{Referer}i\" \"%{User-Agent}i\" %{LABKEY.username}s %{X-Forwarded-For}i"
78+
"jsonaccesslog.pattern", "%h %t %m %U %s %b %D %S \"%{Referer}i\" \"%{User-Agent}i\" %{LABKEY.username}s %{X-Forwarded-For}i",
79+
80+
// Issue 52415: Omit stack traces from Tomcat error pages by default, but propagate error messages
81+
"server.error.include-stacktrace", "never",
82+
"server.error.include-message", "always"
7983
));
8084
application.setBannerMode(Banner.Mode.OFF);
8185
application.run(args);

server/embedded/src/org/labkey/embedded/LabKeyTomcatServletWebServerFactory.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package org.labkey.embedded;
22

3+
import org.apache.catalina.Container;
34
import org.apache.catalina.Host;
45
import org.apache.catalina.core.StandardContext;
6+
import org.apache.catalina.core.StandardHost;
57
import org.apache.catalina.loader.WebappLoader;
68
import org.apache.catalina.startup.Tomcat;
79
import org.apache.catalina.valves.JsonAccessLogValve;
@@ -54,6 +56,14 @@ public LabKeyTomcatServletWebServerFactory(LabKeyServer server)
5456
}
5557
}
5658
});
59+
60+
addContextCustomizers(context -> {
61+
final Container parent = context.getParent();
62+
if (parent instanceof StandardHost sh)
63+
{
64+
sh.setErrorReportValveClass(LabKeyErrorReportValve.class.getName());
65+
}
66+
});
5767
}
5868

5969
@Override

0 commit comments

Comments
 (0)