[[appendix.application-properties.server]] == Server Properties [cols="4,3,3", options="header"] |=== |Name|Description|Default Value |[[application-properties.server.server.address]]xref:#application-properties.server.server.address[`+server.address+`] |+++Network address to which the server should bind.+++ | |[[application-properties.server.server.compression.enabled]]xref:#application-properties.server.server.compression.enabled[`+server.compression.enabled+`] |+++Whether response compression is enabled.+++ |`+false+` |[[application-properties.server.server.compression.excluded-user-agents]]xref:#application-properties.server.server.compression.excluded-user-agents[`+server.compression.excluded-user-agents+`] |+++Comma-separated list of user agents for which responses should not be compressed.+++ | |[[application-properties.server.server.compression.mime-types]]xref:#application-properties.server.server.compression.mime-types[`+server.compression.mime-types+`] |+++Comma-separated list of MIME types that should be compressed.+++ |`+[text/html, text/xml, text/plain, text/css, text/javascript, application/javascript, application/json, application/xml]+` |[[application-properties.server.server.compression.min-response-size]]xref:#application-properties.server.server.compression.min-response-size[`+server.compression.min-response-size+`] |+++Minimum "Content-Length" value that is required for compression to be performed.+++ |`+2KB+` |[[application-properties.server.server.error.include-binding-errors]]xref:#application-properties.server.server.error.include-binding-errors[`+server.error.include-binding-errors+`] |+++When to include "errors" attribute.+++ |`+never+` |[[application-properties.server.server.error.include-exception]]xref:#application-properties.server.server.error.include-exception[`+server.error.include-exception+`] |+++Include the "exception" attribute.+++ |`+false+` |[[application-properties.server.server.error.include-message]]xref:#application-properties.server.server.error.include-message[`+server.error.include-message+`] |+++When to include "message" attribute.+++ |`+never+` |[[application-properties.server.server.error.include-path]]xref:#application-properties.server.server.error.include-path[`+server.error.include-path+`] |+++When to include "path" attribute.+++ | |[[application-properties.server.server.error.include-stacktrace]]xref:#application-properties.server.server.error.include-stacktrace[`+server.error.include-stacktrace+`] |+++When to include the "trace" attribute.+++ |`+never+` |[[application-properties.server.server.error.path]]xref:#application-properties.server.server.error.path[`+server.error.path+`] |+++Path of the error controller.+++ |`+/error+` |[[application-properties.server.server.error.whitelabel.enabled]]xref:#application-properties.server.server.error.whitelabel.enabled[`+server.error.whitelabel.enabled+`] |+++Whether to enable the default error page displayed in browsers in case of a server error.+++ |`+true+` |[[application-properties.server.server.forward-headers-strategy]]xref:#application-properties.server.server.forward-headers-strategy[`+server.forward-headers-strategy+`] |+++Strategy for handling X-Forwarded-* headers.+++ | |[[application-properties.server.server.http2.enabled]]xref:#application-properties.server.server.http2.enabled[`+server.http2.enabled+`] |+++Whether to enable HTTP/2 support, if the current environment supports it.+++ |`+false+` |[[application-properties.server.server.jetty.accesslog.append]]xref:#application-properties.server.server.jetty.accesslog.append[`+server.jetty.accesslog.append+`] |+++Append to log.+++ |`+false+` |[[application-properties.server.server.jetty.accesslog.custom-format]]xref:#application-properties.server.server.jetty.accesslog.custom-format[`+server.jetty.accesslog.custom-format+`] |+++Custom log format, see org.eclipse.jetty.server.CustomRequestLog. If defined, overrides the "format" configuration key.+++ | |[[application-properties.server.server.jetty.accesslog.enabled]]xref:#application-properties.server.server.jetty.accesslog.enabled[`+server.jetty.accesslog.enabled+`] |+++Enable access log.+++ |`+false+` |[[application-properties.server.server.jetty.accesslog.file-date-format]]xref:#application-properties.server.server.jetty.accesslog.file-date-format[`+server.jetty.accesslog.file-date-format+`] |+++Date format to place in log file name.+++ | |[[application-properties.server.server.jetty.accesslog.filename]]xref:#application-properties.server.server.jetty.accesslog.filename[`+server.jetty.accesslog.filename+`] |+++Log filename. If not specified, logs redirect to "System.err".+++ | |[[application-properties.server.server.jetty.accesslog.format]]xref:#application-properties.server.server.jetty.accesslog.format[`+server.jetty.accesslog.format+`] |+++Log format.+++ |`+ncsa+` |[[application-properties.server.server.jetty.accesslog.ignore-paths]]xref:#application-properties.server.server.jetty.accesslog.ignore-paths[`+server.jetty.accesslog.ignore-paths+`] |+++Request paths that should not be logged.+++ | |[[application-properties.server.server.jetty.accesslog.retention-period]]xref:#application-properties.server.server.jetty.accesslog.retention-period[`+server.jetty.accesslog.retention-period+`] |+++Number of days before rotated log files are deleted.+++ |`+31+` |[[application-properties.server.server.jetty.connection-idle-timeout]]xref:#application-properties.server.server.jetty.connection-idle-timeout[`+server.jetty.connection-idle-timeout+`] |+++Time that the connection can be idle before it is closed.+++ | |[[application-properties.server.server.jetty.max-connections]]xref:#application-properties.server.server.jetty.max-connections[`+server.jetty.max-connections+`] |+++Maximum number of connections that the server accepts and processes at any given time.+++ |`+-1+` |[[application-properties.server.server.jetty.max-http-form-post-size]]xref:#application-properties.server.server.jetty.max-http-form-post-size[`+server.jetty.max-http-form-post-size+`] |+++Maximum size of the form content in any HTTP post request.+++ |`+200000B+` |[[application-properties.server.server.jetty.max-http-response-header-size]]xref:#application-properties.server.server.jetty.max-http-response-header-size[`+server.jetty.max-http-response-header-size+`] |+++Maximum size of the HTTP response header.+++ |`+8KB+` |[[application-properties.server.server.jetty.threads.acceptors]]xref:#application-properties.server.server.jetty.threads.acceptors[`+server.jetty.threads.acceptors+`] |+++Number of acceptor threads to use. When the value is -1, the default, the number of acceptors is derived from the operating environment.+++ |`+-1+` |[[application-properties.server.server.jetty.threads.idle-timeout]]xref:#application-properties.server.server.jetty.threads.idle-timeout[`+server.jetty.threads.idle-timeout+`] |+++Maximum thread idle time.+++ |`+60000ms+` |[[application-properties.server.server.jetty.threads.max]]xref:#application-properties.server.server.jetty.threads.max[`+server.jetty.threads.max+`] |+++Maximum number of threads.+++ |`+200+` |[[application-properties.server.server.jetty.threads.max-queue-capacity]]xref:#application-properties.server.server.jetty.threads.max-queue-capacity[`+server.jetty.threads.max-queue-capacity+`] |+++Maximum capacity of the thread pool's backing queue. A default is computed based on the threading configuration.+++ | |[[application-properties.server.server.jetty.threads.min]]xref:#application-properties.server.server.jetty.threads.min[`+server.jetty.threads.min+`] |+++Minimum number of threads.+++ |`+8+` |[[application-properties.server.server.jetty.threads.selectors]]xref:#application-properties.server.server.jetty.threads.selectors[`+server.jetty.threads.selectors+`] |+++Number of selector threads to use. When the value is -1, the default, the number of selectors is derived from the operating environment.+++ |`+-1+` |[[application-properties.server.server.max-http-request-header-size]]xref:#application-properties.server.server.max-http-request-header-size[`+server.max-http-request-header-size+`] |+++Maximum size of the HTTP request header.+++ |`+8KB+` |[[application-properties.server.server.netty.connection-timeout]]xref:#application-properties.server.server.netty.connection-timeout[`+server.netty.connection-timeout+`] |+++Connection timeout of the Netty channel.+++ | |[[application-properties.server.server.netty.h2c-max-content-length]]xref:#application-properties.server.server.netty.h2c-max-content-length[`+server.netty.h2c-max-content-length+`] |+++Maximum content length of an H2C upgrade request.+++ |`+0B+` |[[application-properties.server.server.netty.idle-timeout]]xref:#application-properties.server.server.netty.idle-timeout[`+server.netty.idle-timeout+`] |+++Idle timeout of the Netty channel. When not specified, an infinite timeout is used.+++ | |[[application-properties.server.server.netty.initial-buffer-size]]xref:#application-properties.server.server.netty.initial-buffer-size[`+server.netty.initial-buffer-size+`] |+++Initial buffer size for HTTP request decoding.+++ |`+128B+` |[[application-properties.server.server.netty.max-initial-line-length]]xref:#application-properties.server.server.netty.max-initial-line-length[`+server.netty.max-initial-line-length+`] |+++Maximum length that can be decoded for an HTTP request's initial line.+++ |`+4KB+` |[[application-properties.server.server.netty.max-keep-alive-requests]]xref:#application-properties.server.server.netty.max-keep-alive-requests[`+server.netty.max-keep-alive-requests+`] |+++Maximum number of requests that can be made per connection. By default, a connection serves unlimited number of requests.+++ | |[[application-properties.server.server.netty.validate-headers]]xref:#application-properties.server.server.netty.validate-headers[`+server.netty.validate-headers+`] |+++Whether to validate headers when decoding requests.+++ |`+true+` |[[application-properties.server.server.port]]xref:#application-properties.server.server.port[`+server.port+`] |+++Server HTTP port.+++ |`+8080+` |[[application-properties.server.server.reactive.session.cookie.domain]]xref:#application-properties.server.server.reactive.session.cookie.domain[`+server.reactive.session.cookie.domain+`] |+++Domain for the cookie.+++ | |[[application-properties.server.server.reactive.session.cookie.http-only]]xref:#application-properties.server.server.reactive.session.cookie.http-only[`+server.reactive.session.cookie.http-only+`] |+++Whether to use "HttpOnly" cookies for the cookie.+++ | |[[application-properties.server.server.reactive.session.cookie.max-age]]xref:#application-properties.server.server.reactive.session.cookie.max-age[`+server.reactive.session.cookie.max-age+`] |+++Maximum age of the cookie. If a duration suffix is not specified, seconds will be used. A positive value indicates when the cookie expires relative to the current time. A value of 0 means the cookie should expire immediately. A negative value means no "Max-Age".+++ | |[[application-properties.server.server.reactive.session.cookie.name]]xref:#application-properties.server.server.reactive.session.cookie.name[`+server.reactive.session.cookie.name+`] |+++Name for the cookie.+++ | |[[application-properties.server.server.reactive.session.cookie.path]]xref:#application-properties.server.server.reactive.session.cookie.path[`+server.reactive.session.cookie.path+`] |+++Path of the cookie.+++ | |[[application-properties.server.server.reactive.session.cookie.same-site]]xref:#application-properties.server.server.reactive.session.cookie.same-site[`+server.reactive.session.cookie.same-site+`] |+++SameSite setting for the cookie.+++ | |[[application-properties.server.server.reactive.session.cookie.secure]]xref:#application-properties.server.server.reactive.session.cookie.secure[`+server.reactive.session.cookie.secure+`] |+++Whether to always mark the cookie as secure.+++ | |[[application-properties.server.server.reactive.session.max-sessions]]xref:#application-properties.server.server.reactive.session.max-sessions[`+server.reactive.session.max-sessions+`] |+++Maximum number of sessions that can be stored.+++ |`+10000+` |[[application-properties.server.server.reactive.session.timeout]]xref:#application-properties.server.server.reactive.session.timeout[`+server.reactive.session.timeout+`] |+++Session timeout. If a duration suffix is not specified, seconds will be used.+++ |`+30m+` |[[application-properties.server.server.server-header]]xref:#application-properties.server.server.server-header[`+server.server-header+`] |+++Value to use for the Server response header (if empty, no header is sent).+++ | |[[application-properties.server.server.servlet.application-display-name]]xref:#application-properties.server.server.servlet.application-display-name[`+server.servlet.application-display-name+`] |+++Display name of the application.+++ |`+application+` |[[application-properties.server.server.servlet.context-parameters]]xref:#application-properties.server.server.servlet.context-parameters[`+server.servlet.context-parameters.*+`] |+++Servlet context init parameters.+++ | |[[application-properties.server.server.servlet.context-path]]xref:#application-properties.server.server.servlet.context-path[`+server.servlet.context-path+`] |+++Context path of the application.+++ | |[[application-properties.server.server.servlet.encoding.charset]]xref:#application-properties.server.server.servlet.encoding.charset[`+server.servlet.encoding.charset+`] |+++Charset of HTTP requests and responses. Added to the "Content-Type" header if not set explicitly.+++ |`+UTF-8+` |[[application-properties.server.server.servlet.encoding.enabled]]xref:#application-properties.server.server.servlet.encoding.enabled[`+server.servlet.encoding.enabled+`] |+++Whether to enable http encoding support.+++ |`+true+` |[[application-properties.server.server.servlet.encoding.force]]xref:#application-properties.server.server.servlet.encoding.force[`+server.servlet.encoding.force+`] |+++Whether to force the encoding to the configured charset on HTTP requests and responses.+++ | |[[application-properties.server.server.servlet.encoding.force-request]]xref:#application-properties.server.server.servlet.encoding.force-request[`+server.servlet.encoding.force-request+`] |+++Whether to force the encoding to the configured charset on HTTP requests. Defaults to true when "force" has not been specified.+++ | |[[application-properties.server.server.servlet.encoding.force-response]]xref:#application-properties.server.server.servlet.encoding.force-response[`+server.servlet.encoding.force-response+`] |+++Whether to force the encoding to the configured charset on HTTP responses.+++ | |[[application-properties.server.server.servlet.encoding.mapping]]xref:#application-properties.server.server.servlet.encoding.mapping[`+server.servlet.encoding.mapping.*+`] |+++Mapping of locale to charset for response encoding.+++ | |[[application-properties.server.server.servlet.jsp.class-name]]xref:#application-properties.server.server.servlet.jsp.class-name[`+server.servlet.jsp.class-name+`] |+++Class name of the servlet to use for JSPs. If registered is true and this class * is on the classpath then it will be registered.+++ |`+org.apache.jasper.servlet.JspServlet+` |[[application-properties.server.server.servlet.jsp.init-parameters]]xref:#application-properties.server.server.servlet.jsp.init-parameters[`+server.servlet.jsp.init-parameters.*+`] |+++Init parameters used to configure the JSP servlet.+++ | |[[application-properties.server.server.servlet.jsp.registered]]xref:#application-properties.server.server.servlet.jsp.registered[`+server.servlet.jsp.registered+`] |+++Whether the JSP servlet is registered.+++ |`+true+` |[[application-properties.server.server.servlet.register-default-servlet]]xref:#application-properties.server.server.servlet.register-default-servlet[`+server.servlet.register-default-servlet+`] |+++Whether to register the default Servlet with the container.+++ |`+false+` |[[application-properties.server.server.servlet.session.cookie.domain]]xref:#application-properties.server.server.servlet.session.cookie.domain[`+server.servlet.session.cookie.domain+`] |+++Domain for the cookie.+++ | |[[application-properties.server.server.servlet.session.cookie.http-only]]xref:#application-properties.server.server.servlet.session.cookie.http-only[`+server.servlet.session.cookie.http-only+`] |+++Whether to use "HttpOnly" cookies for the cookie.+++ | |[[application-properties.server.server.servlet.session.cookie.max-age]]xref:#application-properties.server.server.servlet.session.cookie.max-age[`+server.servlet.session.cookie.max-age+`] |+++Maximum age of the cookie. If a duration suffix is not specified, seconds will be used. A positive value indicates when the cookie expires relative to the current time. A value of 0 means the cookie should expire immediately. A negative value means no "Max-Age".+++ | |[[application-properties.server.server.servlet.session.cookie.name]]xref:#application-properties.server.server.servlet.session.cookie.name[`+server.servlet.session.cookie.name+`] |+++Name of the cookie.+++ | |[[application-properties.server.server.servlet.session.cookie.path]]xref:#application-properties.server.server.servlet.session.cookie.path[`+server.servlet.session.cookie.path+`] |+++Path of the cookie.+++ | |[[application-properties.server.server.servlet.session.cookie.same-site]]xref:#application-properties.server.server.servlet.session.cookie.same-site[`+server.servlet.session.cookie.same-site+`] |+++SameSite setting for the cookie.+++ | |[[application-properties.server.server.servlet.session.cookie.secure]]xref:#application-properties.server.server.servlet.session.cookie.secure[`+server.servlet.session.cookie.secure+`] |+++Whether to always mark the cookie as secure.+++ | |[[application-properties.server.server.servlet.session.persistent]]xref:#application-properties.server.server.servlet.session.persistent[`+server.servlet.session.persistent+`] |+++Whether to persist session data between restarts.+++ |`+false+` |[[application-properties.server.server.servlet.session.store-dir]]xref:#application-properties.server.server.servlet.session.store-dir[`+server.servlet.session.store-dir+`] |+++Directory used to store session data.+++ | |[[application-properties.server.server.servlet.session.timeout]]xref:#application-properties.server.server.servlet.session.timeout[`+server.servlet.session.timeout+`] |+++Session timeout. If a duration suffix is not specified, seconds will be used.+++ |`+30m+` |[[application-properties.server.server.servlet.session.tracking-modes]]xref:#application-properties.server.server.servlet.session.tracking-modes[`+server.servlet.session.tracking-modes+`] |+++Session tracking modes.+++ | |[[application-properties.server.server.shutdown]]xref:#application-properties.server.server.shutdown[`+server.shutdown+`] |+++Type of shutdown that the server will support.+++ |`+immediate+` |[[application-properties.server.server.ssl.bundle]]xref:#application-properties.server.server.ssl.bundle[`+server.ssl.bundle+`] |+++The name of a configured SSL bundle.+++ | |[[application-properties.server.server.ssl.certificate]]xref:#application-properties.server.server.ssl.certificate[`+server.ssl.certificate+`] |+++Path to a PEM-encoded SSL certificate file.+++ | |[[application-properties.server.server.ssl.certificate-private-key]]xref:#application-properties.server.server.ssl.certificate-private-key[`+server.ssl.certificate-private-key+`] |+++Path to a PEM-encoded private key file for the SSL certificate.+++ | |[[application-properties.server.server.ssl.ciphers]]xref:#application-properties.server.server.ssl.ciphers[`+server.ssl.ciphers+`] |+++Supported SSL ciphers.+++ | |[[application-properties.server.server.ssl.client-auth]]xref:#application-properties.server.server.ssl.client-auth[`+server.ssl.client-auth+`] |+++Client authentication mode. Requires a trust store.+++ | |[[application-properties.server.server.ssl.enabled]]xref:#application-properties.server.server.ssl.enabled[`+server.ssl.enabled+`] |+++Whether to enable SSL support.+++ |`+true+` |[[application-properties.server.server.ssl.enabled-protocols]]xref:#application-properties.server.server.ssl.enabled-protocols[`+server.ssl.enabled-protocols+`] |+++Enabled SSL protocols.+++ | |[[application-properties.server.server.ssl.key-alias]]xref:#application-properties.server.server.ssl.key-alias[`+server.ssl.key-alias+`] |+++Alias that identifies the key in the key store.+++ | |[[application-properties.server.server.ssl.key-password]]xref:#application-properties.server.server.ssl.key-password[`+server.ssl.key-password+`] |+++Password used to access the key in the key store.+++ | |[[application-properties.server.server.ssl.key-store]]xref:#application-properties.server.server.ssl.key-store[`+server.ssl.key-store+`] |+++Path to the key store that holds the SSL certificate (typically a jks file).+++ | |[[application-properties.server.server.ssl.key-store-password]]xref:#application-properties.server.server.ssl.key-store-password[`+server.ssl.key-store-password+`] |+++Password used to access the key store.+++ | |[[application-properties.server.server.ssl.key-store-provider]]xref:#application-properties.server.server.ssl.key-store-provider[`+server.ssl.key-store-provider+`] |+++Provider for the key store.+++ | |[[application-properties.server.server.ssl.key-store-type]]xref:#application-properties.server.server.ssl.key-store-type[`+server.ssl.key-store-type+`] |+++Type of the key store.+++ | |[[application-properties.server.server.ssl.protocol]]xref:#application-properties.server.server.ssl.protocol[`+server.ssl.protocol+`] |+++SSL protocol to use.+++ |`+TLS+` |[[application-properties.server.server.ssl.server-name-bundles]]xref:#application-properties.server.server.ssl.server-name-bundles[`+server.ssl.server-name-bundles+`] |+++Mapping of host names to SSL bundles for SNI configuration.+++ | |[[application-properties.server.server.ssl.trust-certificate]]xref:#application-properties.server.server.ssl.trust-certificate[`+server.ssl.trust-certificate+`] |+++Path to a PEM-encoded SSL certificate authority file.+++ | |[[application-properties.server.server.ssl.trust-certificate-private-key]]xref:#application-properties.server.server.ssl.trust-certificate-private-key[`+server.ssl.trust-certificate-private-key+`] |+++Path to a PEM-encoded private key file for the SSL certificate authority.+++ | |[[application-properties.server.server.ssl.trust-store]]xref:#application-properties.server.server.ssl.trust-store[`+server.ssl.trust-store+`] |+++Trust store that holds SSL certificates.+++ | |[[application-properties.server.server.ssl.trust-store-password]]xref:#application-properties.server.server.ssl.trust-store-password[`+server.ssl.trust-store-password+`] |+++Password used to access the trust store.+++ | |[[application-properties.server.server.ssl.trust-store-provider]]xref:#application-properties.server.server.ssl.trust-store-provider[`+server.ssl.trust-store-provider+`] |+++Provider for the trust store.+++ | |[[application-properties.server.server.ssl.trust-store-type]]xref:#application-properties.server.server.ssl.trust-store-type[`+server.ssl.trust-store-type+`] |+++Type of the trust store.+++ | |[[application-properties.server.server.tomcat.accept-count]]xref:#application-properties.server.server.tomcat.accept-count[`+server.tomcat.accept-count+`] |+++Maximum queue length for incoming connection requests when all possible request processing threads are in use.+++ |`+100+` |[[application-properties.server.server.tomcat.accesslog.buffered]]xref:#application-properties.server.server.tomcat.accesslog.buffered[`+server.tomcat.accesslog.buffered+`] |+++Whether to buffer output such that it is flushed only periodically.+++ |`+true+` |[[application-properties.server.server.tomcat.accesslog.check-exists]]xref:#application-properties.server.server.tomcat.accesslog.check-exists[`+server.tomcat.accesslog.check-exists+`] |+++Whether to check for log file existence so it can be recreated if an external process has renamed it.+++ |`+false+` |[[application-properties.server.server.tomcat.accesslog.condition-if]]xref:#application-properties.server.server.tomcat.accesslog.condition-if[`+server.tomcat.accesslog.condition-if+`] |+++Whether logging of the request will only be enabled if "ServletRequest.getAttribute(conditionIf)" does not yield null.+++ | |[[application-properties.server.server.tomcat.accesslog.condition-unless]]xref:#application-properties.server.server.tomcat.accesslog.condition-unless[`+server.tomcat.accesslog.condition-unless+`] |+++Whether logging of the request will only be enabled if "ServletRequest.getAttribute(conditionUnless)" yield null.+++ | |[[application-properties.server.server.tomcat.accesslog.directory]]xref:#application-properties.server.server.tomcat.accesslog.directory[`+server.tomcat.accesslog.directory+`] |+++Directory in which log files are created. Can be absolute or relative to the Tomcat base dir.+++ |`+logs+` |[[application-properties.server.server.tomcat.accesslog.enabled]]xref:#application-properties.server.server.tomcat.accesslog.enabled[`+server.tomcat.accesslog.enabled+`] |+++Enable access log.+++ |`+false+` |[[application-properties.server.server.tomcat.accesslog.encoding]]xref:#application-properties.server.server.tomcat.accesslog.encoding[`+server.tomcat.accesslog.encoding+`] |+++Character set used by the log file. Default to the system default character set.+++ | |[[application-properties.server.server.tomcat.accesslog.file-date-format]]xref:#application-properties.server.server.tomcat.accesslog.file-date-format[`+server.tomcat.accesslog.file-date-format+`] |+++Date format to place in the log file name.+++ |`+.yyyy-MM-dd+` |[[application-properties.server.server.tomcat.accesslog.ipv6-canonical]]xref:#application-properties.server.server.tomcat.accesslog.ipv6-canonical[`+server.tomcat.accesslog.ipv6-canonical+`] |+++Whether to use IPv6 canonical representation format as defined by RFC 5952.+++ |`+false+` |[[application-properties.server.server.tomcat.accesslog.locale]]xref:#application-properties.server.server.tomcat.accesslog.locale[`+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.+++ | |[[application-properties.server.server.tomcat.accesslog.max-days]]xref:#application-properties.server.server.tomcat.accesslog.max-days[`+server.tomcat.accesslog.max-days+`] |+++Number of days to retain the access log files before they are removed.+++ |`+-1+` |[[application-properties.server.server.tomcat.accesslog.pattern]]xref:#application-properties.server.server.tomcat.accesslog.pattern[`+server.tomcat.accesslog.pattern+`] |+++Format pattern for access logs.+++ |`+common+` |[[application-properties.server.server.tomcat.accesslog.prefix]]xref:#application-properties.server.server.tomcat.accesslog.prefix[`+server.tomcat.accesslog.prefix+`] |+++Log file name prefix.+++ |`+access_log+` |[[application-properties.server.server.tomcat.accesslog.rename-on-rotate]]xref:#application-properties.server.server.tomcat.accesslog.rename-on-rotate[`+server.tomcat.accesslog.rename-on-rotate+`] |+++Whether to defer inclusion of the date stamp in the file name until rotate time.+++ |`+false+` |[[application-properties.server.server.tomcat.accesslog.request-attributes-enabled]]xref:#application-properties.server.server.tomcat.accesslog.request-attributes-enabled[`+server.tomcat.accesslog.request-attributes-enabled+`] |+++Set request attributes for the IP address, Hostname, protocol, and port used for the request.+++ |`+false+` |[[application-properties.server.server.tomcat.accesslog.rotate]]xref:#application-properties.server.server.tomcat.accesslog.rotate[`+server.tomcat.accesslog.rotate+`] |+++Whether to enable access log rotation.+++ |`+true+` |[[application-properties.server.server.tomcat.accesslog.suffix]]xref:#application-properties.server.server.tomcat.accesslog.suffix[`+server.tomcat.accesslog.suffix+`] |+++Log file name suffix.+++ |`+.log+` |[[application-properties.server.server.tomcat.additional-tld-skip-patterns]]xref:#application-properties.server.server.tomcat.additional-tld-skip-patterns[`+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.+++ | |[[application-properties.server.server.tomcat.background-processor-delay]]xref:#application-properties.server.server.tomcat.background-processor-delay[`+server.tomcat.background-processor-delay+`] |+++Delay between the invocation of backgroundProcess methods. If a duration suffix is not specified, seconds will be used.+++ |`+10s+` |[[application-properties.server.server.tomcat.basedir]]xref:#application-properties.server.server.tomcat.basedir[`+server.tomcat.basedir+`] |+++Tomcat base directory. If not specified, a temporary directory is used.+++ | |[[application-properties.server.server.tomcat.connection-timeout]]xref:#application-properties.server.server.tomcat.connection-timeout[`+server.tomcat.connection-timeout+`] |+++Amount of time the connector will wait, after accepting a connection, for the request URI line to be presented.+++ | |[[application-properties.server.server.tomcat.keep-alive-timeout]]xref:#application-properties.server.server.tomcat.keep-alive-timeout[`+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.+++ | |[[application-properties.server.server.tomcat.max-connections]]xref:#application-properties.server.server.tomcat.max-connections[`+server.tomcat.max-connections+`] |+++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.+++ |`+8192+` |[[application-properties.server.server.tomcat.max-http-form-post-size]]xref:#application-properties.server.server.tomcat.max-http-form-post-size[`+server.tomcat.max-http-form-post-size+`] |+++Maximum size of the form content in any HTTP post request.+++ |`+2MB+` |[[application-properties.server.server.tomcat.max-http-response-header-size]]xref:#application-properties.server.server.tomcat.max-http-response-header-size[`+server.tomcat.max-http-response-header-size+`] |+++Maximum size of the HTTP response header.+++ |`+8KB+` |[[application-properties.server.server.tomcat.max-keep-alive-requests]]xref:#application-properties.server.server.tomcat.max-keep-alive-requests[`+server.tomcat.max-keep-alive-requests+`] |+++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.+++ |`+100+` |[[application-properties.server.server.tomcat.max-swallow-size]]xref:#application-properties.server.server.tomcat.max-swallow-size[`+server.tomcat.max-swallow-size+`] |+++Maximum amount of request body to swallow.+++ |`+2MB+` |[[application-properties.server.server.tomcat.mbeanregistry.enabled]]xref:#application-properties.server.server.tomcat.mbeanregistry.enabled[`+server.tomcat.mbeanregistry.enabled+`] |+++Whether Tomcat's MBean Registry should be enabled.+++ |`+false+` |[[application-properties.server.server.tomcat.processor-cache]]xref:#application-properties.server.server.tomcat.processor-cache[`+server.tomcat.processor-cache+`] |+++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.+++ |`+200+` |[[application-properties.server.server.tomcat.redirect-context-root]]xref:#application-properties.server.server.tomcat.redirect-context-root[`+server.tomcat.redirect-context-root+`] |+++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.+++ |`+true+` |[[application-properties.server.server.tomcat.relaxed-path-chars]]xref:#application-properties.server.server.tomcat.relaxed-path-chars[`+server.tomcat.relaxed-path-chars+`] |+++Comma-separated list of additional unencoded characters that should be allowed in URI paths. Only "< > [ \ ] ^ ` { \| }" are allowed.+++ | |[[application-properties.server.server.tomcat.relaxed-query-chars]]xref:#application-properties.server.server.tomcat.relaxed-query-chars[`+server.tomcat.relaxed-query-chars+`] |+++Comma-separated list of additional unencoded characters that should be allowed in URI query strings. Only "< > [ \ ] ^ ` { \| }" are allowed.+++ | |[[application-properties.server.server.tomcat.remoteip.host-header]]xref:#application-properties.server.server.tomcat.remoteip.host-header[`+server.tomcat.remoteip.host-header+`] |+++Name of the HTTP header from which the remote host is extracted.+++ |`+X-Forwarded-Host+` |[[application-properties.server.server.tomcat.remoteip.internal-proxies]]xref:#application-properties.server.server.tomcat.remoteip.internal-proxies[`+server.tomcat.remoteip.internal-proxies+`] |+++Regular expression that matches proxies that are to be trusted.+++ |`+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+` |[[application-properties.server.server.tomcat.remoteip.port-header]]xref:#application-properties.server.server.tomcat.remoteip.port-header[`+server.tomcat.remoteip.port-header+`] |+++Name of the HTTP header used to override the original port value.+++ |`+X-Forwarded-Port+` |[[application-properties.server.server.tomcat.remoteip.protocol-header]]xref:#application-properties.server.server.tomcat.remoteip.protocol-header[`+server.tomcat.remoteip.protocol-header+`] |+++Header that holds the incoming protocol, usually named "X-Forwarded-Proto".+++ | |[[application-properties.server.server.tomcat.remoteip.protocol-header-https-value]]xref:#application-properties.server.server.tomcat.remoteip.protocol-header-https-value[`+server.tomcat.remoteip.protocol-header-https-value+`] |+++Value of the protocol header indicating whether the incoming request uses SSL.+++ |`+https+` |[[application-properties.server.server.tomcat.remoteip.remote-ip-header]]xref:#application-properties.server.server.tomcat.remoteip.remote-ip-header[`+server.tomcat.remoteip.remote-ip-header+`] |+++Name of the HTTP header from which the remote IP is extracted. For instance, 'X-FORWARDED-FOR'.+++ | |[[application-properties.server.server.tomcat.remoteip.trusted-proxies]]xref:#application-properties.server.server.tomcat.remoteip.trusted-proxies[`+server.tomcat.remoteip.trusted-proxies+`] |+++Regular expression defining proxies that are trusted when they appear in the "remote-ip-header" header.+++ | |[[application-properties.server.server.tomcat.resource.allow-caching]]xref:#application-properties.server.server.tomcat.resource.allow-caching[`+server.tomcat.resource.allow-caching+`] |+++Whether static resource caching is permitted for this web application.+++ |`+true+` |[[application-properties.server.server.tomcat.resource.cache-ttl]]xref:#application-properties.server.server.tomcat.resource.cache-ttl[`+server.tomcat.resource.cache-ttl+`] |+++Time-to-live of the static resource cache.+++ | |[[application-properties.server.server.tomcat.threads.max]]xref:#application-properties.server.server.tomcat.threads.max[`+server.tomcat.threads.max+`] |+++Maximum amount of worker threads.+++ |`+200+` |[[application-properties.server.server.tomcat.threads.max-queue-capacity]]xref:#application-properties.server.server.tomcat.threads.max-queue-capacity[`+server.tomcat.threads.max-queue-capacity+`] |+++Maximum capacity of the thread pool's backing queue.+++ |`+2147483647+` |[[application-properties.server.server.tomcat.threads.min-spare]]xref:#application-properties.server.server.tomcat.threads.min-spare[`+server.tomcat.threads.min-spare+`] |+++Minimum amount of worker threads.+++ |`+10+` |[[application-properties.server.server.tomcat.uri-encoding]]xref:#application-properties.server.server.tomcat.uri-encoding[`+server.tomcat.uri-encoding+`] |+++Character encoding to use to decode the URI.+++ |`+UTF-8+` |[[application-properties.server.server.tomcat.use-relative-redirects]]xref:#application-properties.server.server.tomcat.use-relative-redirects[`+server.tomcat.use-relative-redirects+`] |+++Whether HTTP 1.1 and later location headers generated by a call to sendRedirect will use relative or absolute redirects.+++ |`+false+` |[[application-properties.server.server.undertow.accesslog.dir]]xref:#application-properties.server.server.undertow.accesslog.dir[`+server.undertow.accesslog.dir+`] |+++Undertow access log directory.+++ | |[[application-properties.server.server.undertow.accesslog.enabled]]xref:#application-properties.server.server.undertow.accesslog.enabled[`+server.undertow.accesslog.enabled+`] |+++Whether to enable the access log.+++ |`+false+` |[[application-properties.server.server.undertow.accesslog.pattern]]xref:#application-properties.server.server.undertow.accesslog.pattern[`+server.undertow.accesslog.pattern+`] |+++Format pattern for access logs.+++ |`+common+` |[[application-properties.server.server.undertow.accesslog.prefix]]xref:#application-properties.server.server.undertow.accesslog.prefix[`+server.undertow.accesslog.prefix+`] |+++Log file name prefix.+++ |`+access_log.+` |[[application-properties.server.server.undertow.accesslog.rotate]]xref:#application-properties.server.server.undertow.accesslog.rotate[`+server.undertow.accesslog.rotate+`] |+++Whether to enable access log rotation.+++ |`+true+` |[[application-properties.server.server.undertow.accesslog.suffix]]xref:#application-properties.server.server.undertow.accesslog.suffix[`+server.undertow.accesslog.suffix+`] |+++Log file name suffix.+++ |`+log+` |[[application-properties.server.server.undertow.always-set-keep-alive]]xref:#application-properties.server.server.undertow.always-set-keep-alive[`+server.undertow.always-set-keep-alive+`] |+++Whether the 'Connection: keep-alive' header should be added to all responses, even if not required by the HTTP specification.+++ |`+true+` |[[application-properties.server.server.undertow.buffer-size]]xref:#application-properties.server.server.undertow.buffer-size[`+server.undertow.buffer-size+`] |+++Size of each buffer. The default is derived from the maximum amount of memory that is available to the JVM.+++ | |[[application-properties.server.server.undertow.decode-slash]]xref:#application-properties.server.server.undertow.decode-slash[`+server.undertow.decode-slash+`] |+++Whether encoded slash characters (%2F) should be decoded. Decoding can cause security problems if a front-end proxy does not perform the same decoding. Only enable this if you have a legacy application that requires it. When set, server.undertow.allow-encoded-slash has no effect.+++ | |[[application-properties.server.server.undertow.decode-url]]xref:#application-properties.server.server.undertow.decode-url[`+server.undertow.decode-url+`] |+++Whether the URL should be decoded. When disabled, percent-encoded characters in the URL will be left as-is.+++ |`+true+` |[[application-properties.server.server.undertow.direct-buffers]]xref:#application-properties.server.server.undertow.direct-buffers[`+server.undertow.direct-buffers+`] |+++Whether to allocate buffers outside the Java heap. The default is derived from the maximum amount of memory that is available to the JVM.+++ | |[[application-properties.server.server.undertow.eager-filter-init]]xref:#application-properties.server.server.undertow.eager-filter-init[`+server.undertow.eager-filter-init+`] |+++Whether servlet filters should be initialized on startup.+++ |`+true+` |[[application-properties.server.server.undertow.max-cookies]]xref:#application-properties.server.server.undertow.max-cookies[`+server.undertow.max-cookies+`] |+++Maximum number of cookies that are allowed. This limit exists to prevent hash collision based DOS attacks.+++ |`+200+` |[[application-properties.server.server.undertow.max-headers]]xref:#application-properties.server.server.undertow.max-headers[`+server.undertow.max-headers+`] |+++Maximum number of headers that are allowed. This limit exists to prevent hash collision based DOS attacks.+++ | |[[application-properties.server.server.undertow.max-http-post-size]]xref:#application-properties.server.server.undertow.max-http-post-size[`+server.undertow.max-http-post-size+`] |+++Maximum size of the HTTP post content. When the value is -1, the default, the size is unlimited.+++ |`+-1B+` |[[application-properties.server.server.undertow.max-parameters]]xref:#application-properties.server.server.undertow.max-parameters[`+server.undertow.max-parameters+`] |+++Maximum number of query or path parameters that are allowed. This limit exists to prevent hash collision based DOS attacks.+++ | |[[application-properties.server.server.undertow.no-request-timeout]]xref:#application-properties.server.server.undertow.no-request-timeout[`+server.undertow.no-request-timeout+`] |+++Amount of time a connection can sit idle without processing a request, before it is closed by the server.+++ | |[[application-properties.server.server.undertow.options.server]]xref:#application-properties.server.server.undertow.options.server[`+server.undertow.options.server.*+`] |+++Server options as defined in io.undertow.UndertowOptions.+++ | |[[application-properties.server.server.undertow.options.socket]]xref:#application-properties.server.server.undertow.options.socket[`+server.undertow.options.socket.*+`] |+++Socket options as defined in org.xnio.Options.+++ | |[[application-properties.server.server.undertow.preserve-path-on-forward]]xref:#application-properties.server.server.undertow.preserve-path-on-forward[`+server.undertow.preserve-path-on-forward+`] |+++Whether to preserve the path of a request when it is forwarded.+++ |`+false+` |[[application-properties.server.server.undertow.threads.io]]xref:#application-properties.server.server.undertow.threads.io[`+server.undertow.threads.io+`] |+++Number of I/O threads to create for the worker. The default is derived from the number of available processors.+++ | |[[application-properties.server.server.undertow.threads.worker]]xref:#application-properties.server.server.undertow.threads.worker[`+server.undertow.threads.worker+`] |+++Number of worker threads. The default is 8 times the number of I/O threads.+++ | |[[application-properties.server.server.undertow.url-charset]]xref:#application-properties.server.server.undertow.url-charset[`+server.undertow.url-charset+`] |+++Charset used to decode URLs.+++ |`+UTF-8+` |===