Server feature-flagsDetails » History » Revision 10
Revision 9 (gstrauss, 2021-09-24 09:30) → Revision 10/22 (gstrauss, 2022-02-05 21:34)
h1. server.feature-flags option
h2. Description
server-wide feature control for selected features (since 1.4.56)
@server.feature-flags = ( "..." => "..." )@
Example:
@server.feature-flags = ( "server.h2proto" => "enable", "server.h2c" => "enable" )@
h2. Options
table{margin-left: 2em}.
|_.option |_. description |_. notes |
| @"server.h2proto" => "enable"@ | HTTP/2 support (default: enable (since 1.4.59)) | (since 1.4.56) |
| @"server.h2c" => "enable"@ | HTTP/2 cleartext support (@Upgrade: h2c@) (default: enable (since 1.4.59))
(requires @"server.h2proto" => "enable"@ to enable) | (since 1.4.56) |
| @"server.graceful-shutdown-timeout" => 15@ | max num of secs to wait for existing requests to complete during graceful restart (default: infinite)
(slow requests are aborted after timeout to allow graceful restart to proceed) | (since 1.4.56) |
| @"server.graceful-restart-bg" => "enable"@ | immediate graceful restart while existing requests complete in background process (default: disable)
(experimental) Recommended: @server.systemd-socket-activation = "enable"@ | (since 1.4.56) |
| @"server.clock-jump-restart" => 1800@ | trigger graceful restart if clock jumps more than defined threshold (default: 1800 (30 min))
(if triggered, @"server.graceful-shutdown-timeout"@ forced to 5 sec) | (since 1.4.60) |
| @"server.errorlog-high-precision" => "disable"@ | high-precision timestamps in errorlog trace (default: disable) | (since 1.4.60) |
behavior change; compatibility flags
table{margin-left: 2em}.
| @"server.h2-discard-backend-1xx" => "disable"@ | discard 1xx responses from backend (other than 101) when client is HTTP/2 (default: disable)
default: relay 1xx from backend when client is HTTP/2, e.g. 103 Early Hints | (since 1.4.56) |
| @"server.h1-discard-backend-1xx" => "disable"@ | discard 1xx responses from backend (other than 101) when client is HTTP/1.x (default: disable)
default: relay 1xx from backend when client is HTTP/1.1, e.g. 103 Early Hints | (since 1.4.56) |
| @"server.absolute-dir-redirect" => "disable"@ | use fully qualified URI in automatic redirect to directory (default: disable)
default: use relative url-path (better abstraction) in automatic redirect to directory | (since 1.4.56) |
| @"proxy.force-http10" => "disable"@ | force proxy requests to backend to use HTTP/1.0 (default: disable)
default: send requests to backend using HTTP/1.1 | (since 1.4.56) |
| @"ssl.session-cache" => "disable"@ | server-side TLS session id cache (default: disable)
default: use TLS session tickets (stateless on server-side) | (since 1.4.56) |
| @"cgi.tempfile-accum" => "enable"@ | accumulate request body in single temporary file if not streaming request body to backend (default: enable)
default: temporary file is passed as CGI stdin when request body > 64k
(can be disabled if backend immediately reads request body into another temporary file,
doubling disk space use on a filesystem with limited size) | (since 1.4.60) |
| @"chunkqueue.splice" => "enable"@ | @splice()@ data into temporary files (Linux) (default: enable) | (since 1.4.60) |
| @"http10.range" => "disable"@ | allow Range requests sent with HTTP/1.0 (default: disable)
Range request header is part of the HTTP/1.1 specification and might be mishandled by HTTP/1.0 proxies | (since 1.4.65) |