Custom System Properties

This page describes all custom system properties for DirX Access that administrators can use to influence the behavior of the DXA server.

To apply each property, add it to the wrapper.conf file as follows:

wrapper.java.additional.x=-D{property_name}={property_value}

Migration Control

Explicit disablement of migration

Property: net.atos.dirx.access.migration.disabled
Options: true/false
Effect: Disables automatic migration even if the server determines it is required.
Example:
wrapper.java.additional.x=-Dnet.atos.dirx.access.migration.disabled=true

LDAP Support for Dual Deployments

Support the read only mode of application repository

Property: solutions.dirx.access.support.ldap.read.only
Options: true/false
Effect: Enables read-only LDAP usage as an application repository in dual LDAP setups.
Example:
wrapper.java.additional.x=-Dsolutions.dirx.access.support.ldap.read.only=true

More on the topic of multiple application repositories can be found here: LDAP - Handling Read Only LDAP Scenarios

Maximum Failed Calls before Switching Servers
Property: solutions.dirx.access.max.ldap.faults
Options: Any integer (default is 3)
Effect: Defines the maximum number of consecutive failed LDAP calls before switching to a secondary server.
Example:
wrapper.java.additional.x=-Dsolutions.dirx.access.max.ldap.faults=3

LDAP Page Size for Searches
Property: solutions.dirx.access.ldap.page.size
Options: integer (2048 recommended for DirX) or a suitable limit based on directory settings
Effect: Configures the maximum number of entries per page in LDAP search results.
Example:
wrapper.java.additional.x=-Dsolutions.dirx.access.ldap.page.size=2048

Maximum LDAP Search Results
Property: solutions.dirx.access.ldap.max.search.results
Options: Any integer, 0 for unlimited (default is 10 000)
Effect: Sets a limit for the maximum number of LDAP search results.
Example:
wrapper.java.additional.x=-Dsolutions.dirx.access.ldap.max.search.results=10000

More on the topic of large search results can be found here: LDAP - Large Search Results Limitations

Timeout Settings for Remote HTTP/HTTPS Connections

Connection Timeout
Property: solutions.dirx.access.client.connect.timeout
Options: Time in milliseconds (e.g., 10000 for 10 seconds)
Effect: Sets the maximum time the DXA server waits to establish a connection to a remote service.
Example:
wrapper.java.additional.x=-Dsolutions.dirx.access.client.connect.timeout=10000

Read Timeout
Property: solutions.dirx.access.client.read.timeout
Options: Time in milliseconds (e.g., 10000 for 10 seconds)
Effect: Specifies the maximum time the DXA server waits to read data from a remote service once connected.
Example:
wrapper.java.additional.x=-Dsolutions.dirx.access.client.read.timeout=10000

Embedded Jetty HTTP Server Hardening

Maximum Request Header Size
Property: solutions.dirx.access.jetty.max.header.size
Options: Any integer in bytes (default is 16384)
Effect: Sets the maximum size of request headers accepted by the Jetty HTTP server. Requests with headers exceeding this limit will be rejected.
Example:
wrapper.java.additional.x=-Dsolutions.dirx.access.jetty.max.header.size=16384

Accept Queue Size
Property: solutions.dirx.access.jetty.accept.queue.size
Options: Any integer (default is 512)
Effect: Defines the size of the accept queue for incoming connections. Connections exceeding this queue size will be refused until capacity is available.
Example:
wrapper.java.additional.x=-Dsolutions.dirx.access.jetty.accept.queue.size=512

URI Compliance with RFC 3986
Property: solutions.dirx.access.jetty.enable.uri.compliance.rfc3986
Options: true/false
Effect: When enabled, Jetty parses and validates request URIs according to RFC 3986.
Example:
wrapper.java.additional.x=-Dsolutions.dirx.access.jetty.enable.uri.compliance.rfc3986=true

Referrer-Policy Header
Property: solutions.dirx.access.jetty.referer.policy
Options: Any valid Referrer-Policy directive (e.g., strict-origin-when-cross-origin, no-referrer, same-origin)
Effect: Sets the value of the Referrer-Policy HTTP response header sent by Jetty, controlling how much referrer information is included with requests.
Example:
wrapper.java.additional.x=-Dsolutions.dirx.access.jetty.referer.policy=strict-origin-when-cross-origin

Idle Timeout for HTTP/HTTPS Connections
Property: solutions.dirx.access.jetty.idle.timeout
Options: Time in milliseconds (e.g., 30000 for 30 seconds)
Effect: Specifies how long an HTTP/HTTPS connection may remain idle before Jetty closes it. Lowering this value helps free resources from stale connections.
Example:
wrapper.java.additional.x=-Dsolutions.dirx.access.jetty.idle.timeout=30000

X-Content-Type-Options Header
Property: solutions.dirx.access.jetty.x.content.type.options.enabled
Options: true/false
Effect: When enabled, Jetty adds the X-Content-Type-Options: nosniff response header, preventing browsers from MIME-type sniffing. Disable only if explicitly not required.
Example:
wrapper.java.additional.x=-Dsolutions.dirx.access.jetty.x.content.type.options.enabled=true

Each property above should be adjusted and tested according to your server and deployment requirements.