HTTP-Based Object StoragesΒΆ
The HTTP-based object storages use an HTTP URL to specify how the object storage is accessed.
The parameters are specified as URL-style parameters, such as http://url/?param1=value1¶m2=value2.
Similarly the URL uses URL escaping, so for example if password is foo/bar
the URL is http://user:foo%2fbar@example.com/.
Additionally, because Dovecot expands %variables inside plugin section, the
%
needs to be escaped. So the final string would be e.g.:
plugin {
obox_fs = s3: https://user:foo%%2fbar@example.com/ # password is foo/bar
}
The parameters common to all object storages include:
Parameter |
Description |
Default |
absolute_timeout=<Millisecond Time> |
Maximum total time for an HTTP request to finish. Overrides all timeout configuration New in version 2.3.0. |
none |
absolute_timeout_msecs=<ms> |
Maximum total time for an HTTP request to finish. Overrides all timeout configuration Deprecated since version 2.3.0. |
none |
addhdr=<name>:<value> |
Add the specified header to all HTTP requests. New in version 2.3.10: Can be specified multiple times. |
none |
addhdrvar=<name>:<variable> |
Add the specified header to all HTTP requests and set the value to the expanded variables value. New in version 2.3.10. |
none |
bucket=<n> |
Used by some backends to specify the bucket to save the data into |
none |
bulk_delete_limit=<n> |
Number of deletes supported within the same bulk delete request. 0 disables bulk deletes. Note that this setting works only for the backends that support bulk deletion. New in version 2.2.36. |
scality: 1000 s3: 1000 |
bulk_delete=1 |
Set to 1 if backend supports bulk deletes Deprecated since version 2.2.36. |
v2.2: 0 |
connect_timeout=<Millisecond Time> |
Timeout for establishing a TCP connection New in version 2.3.0. |
timeout |
connect_timeout_msecs=<ms> |
Timeout for establishing a TCP connection Deprecated since version 2.3.0. |
timeout_msecs |
delete_max_retries=<n> |
Max number of HTTP request retries for delete actions |
max_retries |
delete_timeout=<Millisecond Time> |
Timeout for sending a delete HTTP response New in version 2.3.0. |
timeout |
delete_timeout_msecs=<ms> |
Timeout for sending a delete HTTP response Deprecated since version 2.3.0. |
timeout_msecs |
loghdr=<name> |
Headers with the given name in HTTP responses are logged as part of any error, debug or warning messages related to the HTTP
request. These headers are also included in the http_request_finished event as fields prefixed with New in version 2.3.10. |
none |
max_connect_retries=<n> |
Number of connect retries |
2 |
max_retries=<n> |
Max number of HTTP request retries. Retries happen for 5xx errors as well as for 423(locked)
with sproxyd and 409(conflict) with cdmi.
There is a wait between attempting next retry. The initial retry is done after 50ms. The following retries are done
after waiting ten times as long as the previous attempt, so 50ms -> 500 ms -> 5s ->10s. The maximum wait time per attempt
before retry is limited to 10 seconds. Please note that if the overall request time exceeds the configured
Changed in version 2.3.15: Earlier versions had the same initial retry(50ms), followed by doubling the wait time to 100ms, 200ms, 400ms and so forth. |
4 |
no_trace_headers=1 |
Set to 1 to not add X-Dovecot-User or X-Dovecot-Session headers to HTTP request Useful to correlate object storage requests to AS/Dovecot sessions. If not doing correlations via log aggregation, this is safe to disable. |
0 |
read_max_retries=<n> |
Max number of HTTP request retries for read actions |
max_retries |
read_timeout=<Millisecond Time> |
Timeout for a receiving reada HTTP response New in version 2.3.0. |
timeout |
read_timeout_msecs=<ms> |
Timeout for a receiving reada HTTP response Deprecated since version 2.3.0. |
timeout_msecs |
reason_header_max_length=<n> |
Maximum length for X-Dovecot-Reason HTTP header If header is present, it contains information why obox operation is being done |
0 |
slow_warn=<Millisecond Time> |
Log a warning about any HTTP request that takes longer than this time New in version 2.3.0. |
5s |
slow_warn_msecs=<ms> |
Log a warning about any HTTP request that takes longer than this many milliseconds Deprecated since version 2.3.0. |
5000 |
timeout=<Millisecond Time> |
Default timeout for HTTP responses, unless overwritten by the read/write/delete_timeout_msecs New in version 2.3.0. |
10s |
timeout_msecs=<ms> |
Default timeout for HTTP responses, unless overwritten by the read/write/delete_timeout_msecs Deprecated since version 2.3.0. |
10000 |
write_max_retries=<n> |
Max number of HTTP request retries for write actions |
max_retries |
write_timeout=<Millisecond Time> |
Timeout for a write HTTP response New in version 2.3.0. |
timeout |
write_timeout_msecs=<ms> |
Timeout for a write HTTP response Deprecated since version 2.3.0. |
timeout_msecs |
Dovecot sends the following HTTP headers towards storage. They should be logged for troubleshooting purposes:
X-Dovecot-Username
X-Dovecot-Session-Id
X-Dovecot-Reason (v2.2.36.1+ and v2.3.5+)