Type object
Schema URL https://catalog.lintel.tools/schemas/schemastore/roadrunner/_shared/latest--schema.json
Parent schema roadrunner
Type: object

All the valid configuration parameters for the http plugin for RoadRunner.

Properties

address string

Host and/or port to listen on for HTTP traffic. If omitted, RoadRunner will not listen for HTTP requests.

Examples: "127.0.0.1:8080", ":8080"
minLength=1
internal_error_code integer

HTTP status code to use for internal RoadRunner errors. Defaults to 500 if omitted.

Default: 500
min=100max=599
max_request_size integer

Maximum request size in MB. Defaults to 1 GB if zero or omitted.

Default: 1000
min=0
raw_body boolean

Whether to send the raw, encoded body for application/x-www-form-urlencoded content. Defaults to sending decoded content to PHP workers.

Default: false
access_logs boolean

Whether to enable HTTP access logs.

Default: false
middleware string[]

List of middleware to load for the HTTP plugin, executed in the specified order.

minItems=1
trusted_subnets string[]

List of subnets from which incoming requests are allowed. Defaults to typical private network ranges (192.168., 10.0., and 172.16.) and local/loopback interfaces (127.).

Default:
[
  "10.0.0.0/8",
  "127.0.0.0/8",
  "172.16.0.0/12",
  "192.168.0.0/16",
  "::1/128",
  "fc00::/7",
  "fe80::/10"
]
uploads object

File upload configuration.

3 nested properties
dir string

Directory for file uploads. Empty/undefined value means the OS default temporary directory ($TEMP) will be used, i.e. /tmp.

Examples: "/tmp"
forbid string[]

Disallow upload of files with the provided extensions.

allow string[]

Allow only upload of files with the provided extensions. Empty/undefined value means all files except explicitly disallowed (forbid) files are allowed.

Default:
[]
headers object

HTTP header configuration.

3 nested properties
cors object

Controls which CORS headers are returned. Additional headers Vary: Origin, Vary: Access-Control-Request-Method and Vary: Access-Control-Request-Headers will be added to responses. Omit this section to disable CORS headers.

7 nested properties
allowed_origin string

Controls the value of 'Access-Control-Allow-Origin'.

Examples: "*"
allowed_origin_regex string

Controls the value of 'Access-Control-Allow-Origin' header value, but evaluated as regex.

Examples: "^https://foo"
allowed_headers string

Controls the value of 'Access-Control-Allow-Headers'.

Examples: "*"
allowed_methods string

Controls the value of 'Access-Control-Allow-Methods'. Provide a comma-separated string of HTTP verbs.

Examples: "GET,POST,PUT,DELETE"
allow_credentials boolean

Controls the value of 'Access-Control-Allow-Credentials'.

Default: false
exposed_headers string

Controls the value of 'Access-Control-Expose-Headers'. Provide a comma-separated list of HTTP headers.

Examples: "Cache-Control,Content-Language,Content-Type,Expires,Last-Modified,Pragma"
max_age integer

Controls the value of 'Access-Control-Max-Age' (in seconds).

Default: 0
Examples: 600
request object
response object
static object

Configuration options for serving static files.

7 nested properties
dir string

Path to the directory with static assets. Defaults to the current working directory. Empty/undefined and . are equal and are both treated as current directory.

Examples: ".", "/var/www/html"
forbid string[]

File extensions of files that must not be served. Empty/undefined disallows no files. If files are specified in both forbid and allow, they will be disallowed. Defaults to an empty array, disallowing no files.

allow string[]

File extensions of files that may be served. Empty/undefined allows all files, except files specified in forbid.

calculate_etag boolean

Whether to enable ETag computation for static files.

Default: false
weak boolean

Whether to use a weak generator (/W), which uses only the filename to generate a CRC32 sum for et ETag. Disable to use the file contents.

Default: false
request object
response object
pool Schema
ssl object

Settings required to set up manual or automatic HTTPS for your server. Either key and cert or acme is required, but not both.

7 nested properties
address string

Host address/or port to bind to. Defaults to 127.0.0.1:443.

Default: "127.0.0.1:443"
Examples: "127.0.0.1:443", ":8443"
acme object

ACME certificates provider (Let's encrypt). Do not provide this parameter if you use key and cert.

7 nested properties
email string required

User email used to create a Let's Encrypt account. This is required.

Examples: "[email protected]"
domains string[] required

List of domains to obtain certificates for. At least one domain is required.

minItems=1
cache_dir string

Directory to use for certificates, private keys, Let's Encrypt configuration etc.

Default: "rr_cache_dir"
alt_http_port integer

Alternate port for the HTTP challenge. Challenge traffic should be redirected to this port if overridden. See https://letsencrypt.org/docs/challenge-types/#http-01-challenge

Default: 80
alt_tlsalpn_port integer

Alternate port for the TLS-ALPN-01 challenge. Challenge traffic should be redirected to this port if overridden. See https://letsencrypt.org/docs/challenge-types/#tls-alpn-01

Default: 443
challenge_type string

Challenge types

Default: "http-01"
Values: "http-01" "tlsalpn-01"
use_production_endpoint boolean

Whether to use the production endpoint. We recommend you use the staging endpoint to make sure everything works correctly before you deploy your certificate.

Default: false
redirect boolean

Whether to automatically redirect from HTTP to HTTPS.

Default: false
key string

Path to the private key for the certificate. Must not be provided if acme is set.

Examples: "/ssl/server/key.pem"
minLength=1
cert string

Path to the public certificate file. Must not be provided if acme is set.

Examples: "/ssl/server/cert.crt"
minLength=1
root_ca string

Path to the CA certificate, if required. Always required for mTLS. Omit this option if unused. Must not be provided if acme is set.

Examples: "/ssl/server/ca.crt"
minLength=1
client_auth_type string

Authorization method for mTLS.

Default: "no_client_certs"
Values: "request_client_cert" "require_any_client_cert" "verify_client_cert_if_given" "no_client_certs" "require_and_verify_client_cert"
fcgi object

Enables FastCGI support. If omitted, RoadRunner will not listen for FCGI requests.

1 nested properties
address string required

Host and/or port to listen on for FCGI requests.

Examples: "0.0.0.0:9000", "127.0.0.1:9000", "localhost:9000", "unix:/path/to/socket.sock"
minLength=1
http2 object

HTTP/2 settings.

2 nested properties
h2c boolean

Use HTTP/2 over non-encrypted TCP connection using H2C

Default: false
max_concurrent_streams integer

Maximum number of concurrent streams. Defaults to 128 if omitted or zero.

Default: 128
min=0
http3 object

HTTP/3 settings. Experimental: Requires that RoadRunner has experimental features enabled. Unless you configured acme, you must provide a key and cert here.

3 nested properties
address string required

Host and/or port to listen on for HTTP/3.

Examples: "127.0.0.1:8080", ":8080"
minLength=1
cert string

Path to the public certificate file. Must not be provided if acme is set.

Examples: "/ssl/server/cert.crt"
minLength=1
key string

Path to the private key for the certificate. Must not be provided if acme is set.

Examples: "/ssl/server/key.pem"
minLength=1

Definitions

Uploads object

File upload configuration.

dir string

Directory for file uploads. Empty/undefined value means the OS default temporary directory ($TEMP) will be used, i.e. /tmp.

Examples: "/tmp"
forbid string[]

Disallow upload of files with the provided extensions.

allow string[]

Allow only upload of files with the provided extensions. Empty/undefined value means all files except explicitly disallowed (forbid) files are allowed.

Default:
[]
SSL object

Settings required to set up manual or automatic HTTPS for your server. Either key and cert or acme is required, but not both.

address string

Host address/or port to bind to. Defaults to 127.0.0.1:443.

Default: "127.0.0.1:443"
Examples: "127.0.0.1:443", ":8443"
acme object

ACME certificates provider (Let's encrypt). Do not provide this parameter if you use key and cert.

7 nested properties
email string required

User email used to create a Let's Encrypt account. This is required.

Examples: "[email protected]"
domains string[] required

List of domains to obtain certificates for. At least one domain is required.

minItems=1
cache_dir string

Directory to use for certificates, private keys, Let's Encrypt configuration etc.

Default: "rr_cache_dir"
alt_http_port integer

Alternate port for the HTTP challenge. Challenge traffic should be redirected to this port if overridden. See https://letsencrypt.org/docs/challenge-types/#http-01-challenge

Default: 80
alt_tlsalpn_port integer

Alternate port for the TLS-ALPN-01 challenge. Challenge traffic should be redirected to this port if overridden. See https://letsencrypt.org/docs/challenge-types/#tls-alpn-01

Default: 443
challenge_type string

Challenge types

Default: "http-01"
Values: "http-01" "tlsalpn-01"
use_production_endpoint boolean

Whether to use the production endpoint. We recommend you use the staging endpoint to make sure everything works correctly before you deploy your certificate.

Default: false
redirect boolean

Whether to automatically redirect from HTTP to HTTPS.

Default: false
key string

Path to the private key for the certificate. Must not be provided if acme is set.

Examples: "/ssl/server/key.pem"
minLength=1
cert string

Path to the public certificate file. Must not be provided if acme is set.

Examples: "/ssl/server/cert.crt"
minLength=1
root_ca string

Path to the CA certificate, if required. Always required for mTLS. Omit this option if unused. Must not be provided if acme is set.

Examples: "/ssl/server/ca.crt"
minLength=1
client_auth_type string

Authorization method for mTLS.

Default: "no_client_certs"
Values: "request_client_cert" "require_any_client_cert" "verify_client_cert_if_given" "no_client_certs" "require_and_verify_client_cert"
ClientAuthType string

Authorization method for mTLS.

FCGI object

Enables FastCGI support. If omitted, RoadRunner will not listen for FCGI requests.

address string required

Host and/or port to listen on for FCGI requests.

Examples: "0.0.0.0:9000", "127.0.0.1:9000", "localhost:9000", "unix:/path/to/socket.sock"
minLength=1
HTTP2 object

HTTP/2 settings.

h2c boolean

Use HTTP/2 over non-encrypted TCP connection using H2C

Default: false
max_concurrent_streams integer

Maximum number of concurrent streams. Defaults to 128 if omitted or zero.

Default: 128
min=0
HTTP3 object

HTTP/3 settings. Experimental: Requires that RoadRunner has experimental features enabled. Unless you configured acme, you must provide a key and cert here.

address string required

Host and/or port to listen on for HTTP/3.

Examples: "127.0.0.1:8080", ":8080"
minLength=1
cert string

Path to the public certificate file. Must not be provided if acme is set.

Examples: "/ssl/server/cert.crt"
minLength=1
key string

Path to the private key for the certificate. Must not be provided if acme is set.

Examples: "/ssl/server/key.pem"
minLength=1
Headers object