Apache Tomcat - Embedded Servlet Container Configuration
Note that by default, the embedded container attempts to enable the HTTP2 protocol.
1
2
3
4
5
<dependency>
<groupId>org.apereo.cas</groupId>
<artifactId>cas-server-webapp-tomcat</artifactId>
<version>${cas.version}</version>
</dependency>
1
implementation "org.apereo.cas:cas-server-webapp-tomcat:${project.'cas.version'}"
1
2
3
4
5
6
7
8
9
dependencyManagement {
imports {
mavenBom "org.apereo.cas:cas-server-support-bom:${project.'cas.version'}"
}
}
dependencies {
implementation "org.apereo.cas:cas-server-webapp-tomcat"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
dependencies {
/*
The following platform references should be included automatically and are listed here for reference only.
implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}")
implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
Including this module in the CAS WAR overlay is optional and unnecessary. This module is automatically included
and bundled with the CAS server distribution and there are alternative options baked in to allow one to replace
this module with another. The entry below is listed for reference only.
*/
implementation "org.apereo.cas:cas-server-webapp-tomcat"
}
Configuration
The following settings and properties are available from the CAS configuration catalog:
- Required
- Optional
- Signing & Encryption
- Hibernate & JDBC
- Email Servers
- Groovy Scripting
- LDAP & Active Directory
- Authentication
- Password Encoding
- Principal Transformation
- Password Policy
- Third Party
- Notes
server.tomcat.accept-count=100
Maximum queue length for incoming connection requests when all possible request processing threads are in use.
CAS Property:
|
1 |
server.tomcat.accept-count=100 |
1
server:
tomcat:
accept-count: "100"
1
java -Dserver.tomcat.accept-count="100" -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_ACCEPT_COUNT="100"
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.accept-count="100"
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.accesslog.buffered=true
Whether to buffer output such that it is flushed only periodically.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat$Accesslog.
CAS Property: server.tomcat.accesslog.buffered
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.accesslog.buffered=true
1
server:
tomcat:
accesslog:
buffered: "true"
1
java -Dserver.tomcat.accesslog.buffered="true" -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_ACCESSLOG_BUFFERED="true"
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.accesslog.buffered="true"
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.accesslog.check-exists=false
Whether to check for log file existence so it can be recreated if an external process has renamed it.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat$Accesslog.
CAS Property: server.tomcat.accesslog.check-exists
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.accesslog.check-exists=...
1
server:
tomcat:
accesslog:
check-exists: "..."
1
java -Dserver.tomcat.accesslog.check-exists="..." -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_ACCESSLOG_CHECK_EXISTS="..."
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.accesslog.check-exists="..."
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.accesslog.condition-if=
Whether logging of the request will only be enabled if "ServletRequest.getAttribute(conditionIf)" does not yield null.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat$Accesslog.
CAS Property: server.tomcat.accesslog.condition-if
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.accesslog.condition-if=...
1
server:
tomcat:
accesslog:
condition-if: "..."
1
java -Dserver.tomcat.accesslog.condition-if="..." -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_ACCESSLOG_CONDITION_IF="..."
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.accesslog.condition-if="..."
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.accesslog.condition-unless=
Whether logging of the request will only be enabled if "ServletRequest.getAttribute(conditionUnless)" yield null.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat$Accesslog.
CAS Property: server.tomcat.accesslog.condition-unless
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.accesslog.condition-unless=...
1
server:
tomcat:
accesslog:
condition-unless: "..."
1
java -Dserver.tomcat.accesslog.condition-unless="..." -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_ACCESSLOG_CONDITION_UNLESS="..."
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.accesslog.condition-unless="..."
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.accesslog.directory=logs
Directory in which log files are created. Can be absolute or relative to the Tomcat base dir.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat$Accesslog.
CAS Property: server.tomcat.accesslog.directory
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.accesslog.directory=logs
1
server:
tomcat:
accesslog:
directory: "logs"
1
java -Dserver.tomcat.accesslog.directory="logs" -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_ACCESSLOG_DIRECTORY="logs"
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.accesslog.directory="logs"
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.accesslog.enabled=false
Enable access log.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat$Accesslog.
CAS Property: server.tomcat.accesslog.enabled
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.accesslog.enabled=...
1
server:
tomcat:
accesslog:
enabled: "..."
1
java -Dserver.tomcat.accesslog.enabled="..." -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_ACCESSLOG_ENABLED="..."
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.accesslog.enabled="..."
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.accesslog.encoding=
Character set used by the log file. Default to the system default character set.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat$Accesslog.
CAS Property: server.tomcat.accesslog.encoding
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.accesslog.encoding=...
1
server:
tomcat:
accesslog:
encoding: "..."
1
java -Dserver.tomcat.accesslog.encoding="..." -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_ACCESSLOG_ENCODING="..."
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.accesslog.encoding="..."
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.accesslog.file-date-format=.yyyy-MM-dd
Date format to place in the log file name.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat$Accesslog.
CAS Property: server.tomcat.accesslog.file-date-format
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.accesslog.file-date-format=.yyyy-MM-dd
1
server:
tomcat:
accesslog:
file-date-format: ".yyyy-MM-dd"
1
java -Dserver.tomcat.accesslog.file-date-format=".yyyy-MM-dd" -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_ACCESSLOG_FILE_DATE_FORMAT=".yyyy-MM-dd"
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.accesslog.file-date-format=".yyyy-MM-dd"
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.accesslog.ipv6-canonical=false
Whether to use IPv6 canonical representation format as defined by RFC 5952.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat$Accesslog.
CAS Property: server.tomcat.accesslog.ipv6-canonical
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.accesslog.ipv6-canonical=...
1
server:
tomcat:
accesslog:
ipv6-canonical: "..."
1
java -Dserver.tomcat.accesslog.ipv6-canonical="..." -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_ACCESSLOG_IPV6_CANONICAL="..."
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.accesslog.ipv6-canonical="..."
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.accesslog.locale=
Locale used to format timestamps in log entries and in log file name suffix. Default to the default locale of the Java process.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat$Accesslog.
CAS Property: server.tomcat.accesslog.locale
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.accesslog.locale=...
1
server:
tomcat:
accesslog:
locale: "..."
1
java -Dserver.tomcat.accesslog.locale="..." -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_ACCESSLOG_LOCALE="..."
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.accesslog.locale="..."
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.accesslog.max-days=-1
Number of days to retain the access log files before they are removed.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat$Accesslog.
CAS Property: server.tomcat.accesslog.max-days
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.accesslog.max-days=-1
1
server:
tomcat:
accesslog:
max-days: "-1"
1
java -Dserver.tomcat.accesslog.max-days="-1" -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_ACCESSLOG_MAX_DAYS="-1"
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.accesslog.max-days="-1"
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.accesslog.pattern=common
Format pattern for access logs.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat$Accesslog.
CAS Property: server.tomcat.accesslog.pattern
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.accesslog.pattern=common
1
server:
tomcat:
accesslog:
pattern: "common"
1
java -Dserver.tomcat.accesslog.pattern="common" -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_ACCESSLOG_PATTERN="common"
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.accesslog.pattern="common"
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.accesslog.prefix=access_log
Log file name prefix.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat$Accesslog.
CAS Property: server.tomcat.accesslog.prefix
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.accesslog.prefix=access_log
1
server:
tomcat:
accesslog:
prefix: "access_log"
1
java -Dserver.tomcat.accesslog.prefix="access_log" -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_ACCESSLOG_PREFIX="access_log"
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.accesslog.prefix="access_log"
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.accesslog.rename-on-rotate=false
Whether to defer inclusion of the date stamp in the file name until rotate time.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat$Accesslog.
CAS Property: server.tomcat.accesslog.rename-on-rotate
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.accesslog.rename-on-rotate=...
1
server:
tomcat:
accesslog:
rename-on-rotate: "..."
1
java -Dserver.tomcat.accesslog.rename-on-rotate="..." -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_ACCESSLOG_RENAME_ON_ROTATE="..."
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.accesslog.rename-on-rotate="..."
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.accesslog.request-attributes-enabled=false
Set request attributes for the IP address, Hostname, protocol, and port used for the request.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat$Accesslog.
CAS Property: server.tomcat.accesslog.request-attributes-enabled
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.accesslog.request-attributes-enabled=...
1
server:
tomcat:
accesslog:
request-attributes-enabled: "..."
1
java -Dserver.tomcat.accesslog.request-attributes-enabled="..." -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_ACCESSLOG_REQUEST_ATTRIBUTES_ENABLED="..."
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.accesslog.request-attributes-enabled="..."
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.accesslog.rotate=true
Whether to enable access log rotation.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat$Accesslog.
CAS Property: server.tomcat.accesslog.rotate
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.accesslog.rotate=true
1
server:
tomcat:
accesslog:
rotate: "true"
1
java -Dserver.tomcat.accesslog.rotate="true" -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_ACCESSLOG_ROTATE="true"
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.accesslog.rotate="true"
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.accesslog.suffix=.log
Log file name suffix.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat$Accesslog.
CAS Property: server.tomcat.accesslog.suffix
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.accesslog.suffix=.log
1
server:
tomcat:
accesslog:
suffix: ".log"
1
java -Dserver.tomcat.accesslog.suffix=".log" -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_ACCESSLOG_SUFFIX=".log"
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.accesslog.suffix=".log"
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.additional-tld-skip-patterns=
Comma-separated list of additional patterns that match jars to ignore for TLD scanning. The special '?' and '*' characters can be used in the pattern to match one and only one character and zero or more characters respectively.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat.
CAS Property: server.tomcat.additional-tld-skip-patterns
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.additional-tld-skip-patterns=...
1
server:
tomcat:
additional-tld-skip-patterns: "..."
1
java -Dserver.tomcat.additional-tld-skip-patterns="..." -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_ADDITIONAL_TLD_SKIP_PATTERNS="..."
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.additional-tld-skip-patterns="..."
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.background-processor-delay=10s
Delay between the invocation of backgroundProcess methods. If a duration suffix is not specified, seconds will be used.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat.
CAS Property: server.tomcat.background-processor-delay
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.background-processor-delay=10s
1
server:
tomcat:
background-processor-delay: "10s"
1
java -Dserver.tomcat.background-processor-delay="10s" -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_BACKGROUND_PROCESSOR_DELAY="10s"
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.background-processor-delay="10s"
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.basedir=
Tomcat base directory. If not specified, a temporary directory is used.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat.
CAS Property: server.tomcat.basedir
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.basedir=...
1
server:
tomcat:
basedir: "..."
1
java -Dserver.tomcat.basedir="..." -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_BASEDIR="..."
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.basedir="..."
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.connection-timeout=
Amount of time the connector will wait, after accepting a connection, for the request URI line to be presented.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat.
CAS Property: server.tomcat.connection-timeout
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.connection-timeout=...
1
server:
tomcat:
connection-timeout: "..."
1
java -Dserver.tomcat.connection-timeout="..." -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_CONNECTION_TIMEOUT="..."
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.connection-timeout="..."
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.keep-alive-timeout=
Time to wait for another HTTP request before the connection is closed. When not set the connectionTimeout is used. When set to -1 there will be no timeout.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat.
CAS Property: server.tomcat.keep-alive-timeout
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.keep-alive-timeout=...
1
server:
tomcat:
keep-alive-timeout: "..."
1
java -Dserver.tomcat.keep-alive-timeout="..." -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_KEEP_ALIVE_TIMEOUT="..."
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.keep-alive-timeout="..."
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.max-connections=8192
Maximum number of connections that the server accepts and processes at any given time. Once the limit has been reached, the operating system may still accept connections based on the "acceptCount" property.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat.
CAS Property: server.tomcat.max-connections
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.max-connections=8192
1
server:
tomcat:
max-connections: "8192"
1
java -Dserver.tomcat.max-connections="8192" -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_MAX_CONNECTIONS="8192"
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.max-connections="8192"
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.max-http-form-post-size=2MB
Maximum size of the form content in any HTTP post request.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat.
CAS Property: server.tomcat.max-http-form-post-size
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.max-http-form-post-size=2MB
1
server:
tomcat:
max-http-form-post-size: "2MB"
1
java -Dserver.tomcat.max-http-form-post-size="2MB" -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_MAX_HTTP_FORM_POST_SIZE="2MB"
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.max-http-form-post-size="2MB"
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.max-http-post-size=
How can I configure this property?
CAS Property: server.tomcat.max-http-post-size
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.max-http-post-size=...
1
server:
tomcat:
max-http-post-size: "..."
1
java -Dserver.tomcat.max-http-post-size="..." -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_MAX_HTTP_POST_SIZE="..."
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.max-http-post-size="..."
cas.war
with an embedded server container and can be found in the build/libs
directory.
Deprecation status is ERROR
with a replacement setting: server.tomcat.max-http-form-post-size
.
server.tomcat.max-http-response-header-size=8KB
Maximum size of the HTTP response header.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat.
CAS Property: server.tomcat.max-http-response-header-size
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.max-http-response-header-size=8KB
1
server:
tomcat:
max-http-response-header-size: "8KB"
1
java -Dserver.tomcat.max-http-response-header-size="8KB" -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_MAX_HTTP_RESPONSE_HEADER_SIZE="8KB"
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.max-http-response-header-size="8KB"
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.max-keep-alive-requests=100
Maximum number of HTTP requests that can be pipelined before the connection is closed. When set to 0 or 1, keep-alive and pipelining are disabled. When set to -1, an unlimited number of pipelined or keep-alive requests are allowed.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat.
CAS Property: server.tomcat.max-keep-alive-requests
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.max-keep-alive-requests=100
1
server:
tomcat:
max-keep-alive-requests: "100"
1
java -Dserver.tomcat.max-keep-alive-requests="100" -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_MAX_KEEP_ALIVE_REQUESTS="100"
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.max-keep-alive-requests="100"
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.max-swallow-size=2MB
Maximum amount of request body to swallow.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat.
CAS Property: server.tomcat.max-swallow-size
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.max-swallow-size=2MB
1
server:
tomcat:
max-swallow-size: "2MB"
1
java -Dserver.tomcat.max-swallow-size="2MB" -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_MAX_SWALLOW_SIZE="2MB"
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.max-swallow-size="2MB"
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.mbeanregistry.enabled=false
Whether Tomcat's MBean Registry should be enabled.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat$Mbeanregistry.
CAS Property: server.tomcat.mbeanregistry.enabled
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.mbeanregistry.enabled=...
1
server:
tomcat:
mbeanregistry:
enabled: "..."
1
java -Dserver.tomcat.mbeanregistry.enabled="..." -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_MBEANREGISTRY_ENABLED="..."
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.mbeanregistry.enabled="..."
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.processor-cache=200
Maximum number of idle processors that will be retained in the cache and reused with a subsequent request. When set to -1 the cache will be unlimited with a theoretical maximum size equal to the maximum number of connections.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat.
CAS Property: server.tomcat.processor-cache
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.processor-cache=200
1
server:
tomcat:
processor-cache: "200"
1
java -Dserver.tomcat.processor-cache="200" -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_PROCESSOR_CACHE="200"
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.processor-cache="200"
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.redirect-context-root=true
Whether requests to the context root should be redirected by appending a / to the path. When using SSL terminated at a proxy, this property should be set to false.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat.
CAS Property: server.tomcat.redirect-context-root
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.redirect-context-root=true
1
server:
tomcat:
redirect-context-root: "true"
1
java -Dserver.tomcat.redirect-context-root="true" -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_REDIRECT_CONTEXT_ROOT="true"
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.redirect-context-root="true"
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.reject-illegal-header=true
Whether to reject requests with illegal header names or values. Deprecation:
since 2.7.12 for removal in 3.3.0
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat.
CAS Property: server.tomcat.reject-illegal-header
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.reject-illegal-header=true
1
server:
tomcat:
reject-illegal-header: "true"
1
java -Dserver.tomcat.reject-illegal-header="true" -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_REJECT_ILLEGAL_HEADER="true"
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.reject-illegal-header="true"
cas.war
with an embedded server container and can be found in the build/libs
directory.
Deprecation status is WARNING
without a replacement setting.
server.tomcat.relaxed-path-chars=
Comma-separated list of additional unencoded characters that should be allowed in URI paths. Only "< > [ \ ] ^ ` { | }" are allowed.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat.
CAS Property: server.tomcat.relaxed-path-chars
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.relaxed-path-chars=...
1
server:
tomcat:
relaxed-path-chars: "..."
1
java -Dserver.tomcat.relaxed-path-chars="..." -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_RELAXED_PATH_CHARS="..."
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.relaxed-path-chars="..."
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.relaxed-query-chars=
Comma-separated list of additional unencoded characters that should be allowed in URI query strings. Only "< > [ \ ] ^ ` { | }" are allowed.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat.
CAS Property: server.tomcat.relaxed-query-chars
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.relaxed-query-chars=...
1
server:
tomcat:
relaxed-query-chars: "..."
1
java -Dserver.tomcat.relaxed-query-chars="..." -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_RELAXED_QUERY_CHARS="..."
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.relaxed-query-chars="..."
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.remoteip.host-header=X-Forwarded-Host
Name of the HTTP header from which the remote host is extracted.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat$Remoteip.
CAS Property: server.tomcat.remoteip.host-header
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.remoteip.host-header=X-Forwarded-Host
1
server:
tomcat:
remoteip:
host-header: "X-Forwarded-Host"
1
java -Dserver.tomcat.remoteip.host-header="X-Forwarded-Host" -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_REMOTEIP_HOST_HEADER="X-Forwarded-Host"
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.remoteip.host-header="X-Forwarded-Host"
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.remoteip.internal-proxies=10\.\d{1,3}\.\d{1,3}\.\d{1,3}|192\.168\.\d{1,3}\.\d{1,3}|169\.254\.\d{1,3}\.\d{1,3}|127\.\d{1,3}\.\d{1,3}\.\d{1,3}|100\.6[4-9]{1}\.\d{1,3}\.\d{1,3}|100\.[7-9]{1}\d{1}\.\d{1,3}\.\d{1,3}|100\.1[0-1]{1}\d{1}\.\d{1,3}\.\d{1,3}|100\.12[0-7]{1}\.\d{1,3}\.\d{1,3}|172\.1[6-9]{1}\.\d{1,3}\.\d{1,3}|172\.2[0-9]{1}\.\d{1,3}\.\d{1,3}|172\.3[0-1]{1}\.\d{1,3}\.\d{1,3}|0:0:0:0:0:0:0:1|::1
Regular expression that matches proxies that are to be trusted.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat$Remoteip.
CAS Property: server.tomcat.remoteip.internal-proxies
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.remoteip.internal-proxies=10\.\d{1,3}\.\d{1,3}\.\d{1,3}|192\.168\.\d{1,3}\.\d{1,3}|169\.254\.\d{1,3}\.\d{1,3}|127\.\d{1,3}\.\d{1,3}\.\d{1,3}|100\.6[4-9]{1}\.\d{1,3}\.\d{1,3}|100\.[7-9]{1}\d{1}\.\d{1,3}\.\d{1,3}|100\.1[0-1]{1}\d{1}\.\d{1,3}\.\d{1,3}|100\.12[0-7]{1}\.\d{1,3}\.\d{1,3}|172\.1[6-9]{1}\.\d{1,3}\.\d{1,3}|172\.2[0-9]{1}\.\d{1,3}\.\d{1,3}|172\.3[0-1]{1}\.\d{1,3}\.\d{1,3}|0:0:0:0:0:0:0:1|::1
1
server:
tomcat:
remoteip:
internal-proxies: "10\.\d{1,3}\.\d{1,3}\.\d{1,3}|192\.168\.\d{1,3}\.\d{1,3}|169\.254\.\d{1,3}\.\d{1,3}|127\.\d{1,3}\.\d{1,3}\.\d{1,3}|100\.6[4-9]{1}\.\d{1,3}\.\d{1,3}|100\.[7-9]{1}\d{1}\.\d{1,3}\.\d{1,3}|100\.1[0-1]{1}\d{1}\.\d{1,3}\.\d{1,3}|100\.12[0-7]{1}\.\d{1,3}\.\d{1,3}|172\.1[6-9]{1}\.\d{1,3}\.\d{1,3}|172\.2[0-9]{1}\.\d{1,3}\.\d{1,3}|172\.3[0-1]{1}\.\d{1,3}\.\d{1,3}|0:0:0:0:0:0:0:1|::1"
1
java -Dserver.tomcat.remoteip.internal-proxies="10\.\d{1,3}\.\d{1,3}\.\d{1,3}|192\.168\.\d{1,3}\.\d{1,3}|169\.254\.\d{1,3}\.\d{1,3}|127\.\d{1,3}\.\d{1,3}\.\d{1,3}|100\.6[4-9]{1}\.\d{1,3}\.\d{1,3}|100\.[7-9]{1}\d{1}\.\d{1,3}\.\d{1,3}|100\.1[0-1]{1}\d{1}\.\d{1,3}\.\d{1,3}|100\.12[0-7]{1}\.\d{1,3}\.\d{1,3}|172\.1[6-9]{1}\.\d{1,3}\.\d{1,3}|172\.2[0-9]{1}\.\d{1,3}\.\d{1,3}|172\.3[0-1]{1}\.\d{1,3}\.\d{1,3}|0:0:0:0:0:0:0:1|::1" -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_REMOTEIP_INTERNAL_PROXIES="10\.\d{1,3}\.\d{1,3}\.\d{1,3}|192\.168\.\d{1,3}\.\d{1,3}|169\.254\.\d{1,3}\.\d{1,3}|127\.\d{1,3}\.\d{1,3}\.\d{1,3}|100\.6[4-9]{1}\.\d{1,3}\.\d{1,3}|100\.[7-9]{1}\d{1}\.\d{1,3}\.\d{1,3}|100\.1[0-1]{1}\d{1}\.\d{1,3}\.\d{1,3}|100\.12[0-7]{1}\.\d{1,3}\.\d{1,3}|172\.1[6-9]{1}\.\d{1,3}\.\d{1,3}|172\.2[0-9]{1}\.\d{1,3}\.\d{1,3}|172\.3[0-1]{1}\.\d{1,3}\.\d{1,3}|0:0:0:0:0:0:0:1|::1"
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.remoteip.internal-proxies="10\.\d{1,3}\.\d{1,3}\.\d{1,3}|192\.168\.\d{1,3}\.\d{1,3}|169\.254\.\d{1,3}\.\d{1,3}|127\.\d{1,3}\.\d{1,3}\.\d{1,3}|100\.6[4-9]{1}\.\d{1,3}\.\d{1,3}|100\.[7-9]{1}\d{1}\.\d{1,3}\.\d{1,3}|100\.1[0-1]{1}\d{1}\.\d{1,3}\.\d{1,3}|100\.12[0-7]{1}\.\d{1,3}\.\d{1,3}|172\.1[6-9]{1}\.\d{1,3}\.\d{1,3}|172\.2[0-9]{1}\.\d{1,3}\.\d{1,3}|172\.3[0-1]{1}\.\d{1,3}\.\d{1,3}|0:0:0:0:0:0:0:1|::1"
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.remoteip.port-header=X-Forwarded-Port
Name of the HTTP header used to override the original port value.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat$Remoteip.
CAS Property: server.tomcat.remoteip.port-header
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.remoteip.port-header=X-Forwarded-Port
1
server:
tomcat:
remoteip:
port-header: "X-Forwarded-Port"
1
java -Dserver.tomcat.remoteip.port-header="X-Forwarded-Port" -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_REMOTEIP_PORT_HEADER="X-Forwarded-Port"
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.remoteip.port-header="X-Forwarded-Port"
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.remoteip.protocol-header=
Header that holds the incoming protocol, usually named "X-Forwarded-Proto".
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat$Remoteip.
CAS Property: server.tomcat.remoteip.protocol-header
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.remoteip.protocol-header=...
1
server:
tomcat:
remoteip:
protocol-header: "..."
1
java -Dserver.tomcat.remoteip.protocol-header="..." -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_REMOTEIP_PROTOCOL_HEADER="..."
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.remoteip.protocol-header="..."
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.remoteip.protocol-header-https-value=https
Value of the protocol header indicating whether the incoming request uses SSL.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat$Remoteip.
CAS Property: server.tomcat.remoteip.protocol-header-https-value
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.remoteip.protocol-header-https-value=https
1
server:
tomcat:
remoteip:
protocol-header-https-value: "https"
1
java -Dserver.tomcat.remoteip.protocol-header-https-value="https" -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_REMOTEIP_PROTOCOL_HEADER_HTTPS_VALUE="https"
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.remoteip.protocol-header-https-value="https"
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.remoteip.remote-ip-header=
Name of the HTTP header from which the remote IP is extracted. For instance, 'X-FORWARDED-FOR'.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat$Remoteip.
CAS Property: server.tomcat.remoteip.remote-ip-header
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.remoteip.remote-ip-header=...
1
server:
tomcat:
remoteip:
remote-ip-header: "..."
1
java -Dserver.tomcat.remoteip.remote-ip-header="..." -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_REMOTEIP_REMOTE_IP_HEADER="..."
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.remoteip.remote-ip-header="..."
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.remoteip.trusted-proxies=
Regular expression defining proxies that are trusted when they appear in the "remote-ip-header" header.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat$Remoteip.
CAS Property: server.tomcat.remoteip.trusted-proxies
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.remoteip.trusted-proxies=...
1
server:
tomcat:
remoteip:
trusted-proxies: "..."
1
java -Dserver.tomcat.remoteip.trusted-proxies="..." -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_REMOTEIP_TRUSTED_PROXIES="..."
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.remoteip.trusted-proxies="..."
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.resource.allow-caching=true
Whether static resource caching is permitted for this web application.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat$Resource.
CAS Property: server.tomcat.resource.allow-caching
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.resource.allow-caching=true
1
server:
tomcat:
resource:
allow-caching: "true"
1
java -Dserver.tomcat.resource.allow-caching="true" -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_RESOURCE_ALLOW_CACHING="true"
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.resource.allow-caching="true"
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.resource.cache-ttl=
Time-to-live of the static resource cache.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat$Resource.
CAS Property: server.tomcat.resource.cache-ttl
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.resource.cache-ttl=...
1
server:
tomcat:
resource:
cache-ttl: "..."
1
java -Dserver.tomcat.resource.cache-ttl="..." -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_RESOURCE_CACHE_TTL="..."
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.resource.cache-ttl="..."
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.threads.max=200
Maximum amount of worker threads. Doesn't have an effect if virtual threads are enabled.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat$Threads.
CAS Property: server.tomcat.threads.max
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.threads.max=200
1
server:
tomcat:
threads:
max: "200"
1
java -Dserver.tomcat.threads.max="200" -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_THREADS_MAX="200"
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.threads.max="200"
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.threads.max-queue-capacity=2147483647
Maximum capacity of the thread pool's backing queue.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat$Threads.
CAS Property: server.tomcat.threads.max-queue-capacity
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.threads.max-queue-capacity=2147483647
1
server:
tomcat:
threads:
max-queue-capacity: "2147483647"
1
java -Dserver.tomcat.threads.max-queue-capacity="2147483647" -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_THREADS_MAX_QUEUE_CAPACITY="2147483647"
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.threads.max-queue-capacity="2147483647"
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.threads.min-spare=10
Minimum amount of worker threads. Doesn't have an effect if virtual threads are enabled.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat$Threads.
CAS Property: server.tomcat.threads.min-spare
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.threads.min-spare=10
1
server:
tomcat:
threads:
min-spare: "10"
1
java -Dserver.tomcat.threads.min-spare="10" -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_THREADS_MIN_SPARE="10"
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.threads.min-spare="10"
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.uri-encoding=UTF-8
Character encoding to use to decode the URI.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat.
CAS Property: server.tomcat.uri-encoding
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.uri-encoding=UTF-8
1
server:
tomcat:
uri-encoding: "UTF-8"
1
java -Dserver.tomcat.uri-encoding="UTF-8" -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_URI_ENCODING="UTF-8"
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.uri-encoding="UTF-8"
cas.war
with an embedded server container and can be found in the build/libs
directory.
server.tomcat.use-relative-redirects=false
Whether HTTP 1.1 and later location headers generated by a call to sendRedirect will use relative or absolute redirects.
org.springframework.boot.autoconfigure.web.ServerProperties$Tomcat.
CAS Property: server.tomcat.use-relative-redirects
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
.properties
files:
1
server.tomcat.use-relative-redirects=...
1
server:
tomcat:
use-relative-redirects: "..."
1
java -Dserver.tomcat.use-relative-redirects="..." -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory. Note the placement of the system property which must be
specified before the CAS web application is launched.
1
2
3
export SERVER_TOMCAT_USE_RELATIVE_REDIRECTS="..."
java -jar build/libs/cas.war
cas.war
with an embedded server container and can be found in the build/libs
directory.
1
java -jar build/libs/cas.war --server.tomcat.use-relative-redirects="..."
cas.war
with an embedded server container and can be found in the build/libs
directory.
Configuration Metadata
The collection of configuration properties listed in this section are automatically generated from the CAS source and components that contain the actual field definitions, types, descriptions, modules, etc. This metadata may not always be 100% accurate, or could be lacking details and sufficient explanations.
Be Selective
This section is meant as a guide only. Do NOT copy/paste the entire collection of settings into your CAS configuration; rather pick only the properties that you need. Do NOT enable settings unless you are certain of their purpose and do NOT copy settings into your configuration only to keep them as reference. All these ideas lead to upgrade headaches, maintenance nightmares and premature aging.
YAGNI
Note that for nearly ALL use cases, declaring and configuring properties listed here is sufficient. You should NOT have to explicitly massage a CAS XML/Java/etc configuration file to design an authentication handler, create attribute release policies, etc. CAS at runtime will auto-configure all required changes for you. If you are unsure about the meaning of a given CAS setting, do NOT turn it on without hesitation. Review the codebase or better yet, ask questions to clarify the intended behavior.
Naming Convention
Property names can be specified in very relaxed terms. For instance cas.someProperty
, cas.some-property
, cas.some_property
are all valid names. While all
forms are accepted by CAS, there are certain components (in CAS and other frameworks used) whose activation at runtime is conditional on a property value, where
this property is required to have been specified in CAS configuration using kebab case. This is both true for properties that are owned by CAS as well as those
that might be presented to the system via an external library or framework such as Spring Boot, etc.
When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value
.
The only possible exception to this rule is when naming actuator endpoints; The name of the
actuator endpoints (i.e. ssoSessions
) MUST remain in camelCase mode.
Settings and properties that are controlled by the CAS platform directly always begin with the prefix cas
. All other settings are controlled and provided
to CAS via other underlying frameworks and may have their own schemas and syntax. BE CAREFUL with
the distinction. Unrecognized properties are rejected by CAS and/or frameworks upon which CAS depends. This means if you somehow misspell a property definition
or fail to adhere to the dot-notation syntax and such, your setting is entirely refused by CAS and likely the feature it controls will never be activated in the
way you intend.
Validation
Configuration properties are automatically validated on CAS startup to report issues with configuration binding, specially if defined CAS settings cannot be recognized or validated by the configuration schema. Additional validation processes are also handled via Configuration Metadata and property migrations applied automatically on startup by Spring Boot and family.
Indexed Settings
CAS settings able to accept multiple values are typically documented with an index, such as cas.some.setting[0]=value
. The index [0]
is meant to be
incremented by the adopter to allow for distinct multiple configuration blocks.
IPv4 Configuration
In order to force Apache Tomcat to use IPv4, configure the following as a system property for your run command:
1
-Djava.net.preferIPv4Stack=true
The same sort of configuration needs to be applied to your $CATALINA_OPTS
environment variable in case of an external container.