HTTP Frontends¶
The Ceph Object Gateway supports two embedded HTTP frontend libraries
that can be configured with rgw_frontends
.
Beast¶
New in version Luminous.
The beast
frontend uses the Boost.Beast library for HTTP parsing
and the Boost.Asio library for asynchronous network i/o.
Options¶
port
and ssl_port
- Description:
Sets the listening port number. Can be specified multiple times as in
port=80 port=8000
.- Type:
Integer
- Default:
80
endpoint
and ssl_endpoint
- Description:
Sets the listening address in the form
address[:port]
, where the address is an IPv4 address string in dotted decimal form, or an IPv6 address in hexadecimal notation surrounded by square brackets. The optional port defaults to 80 forendpoint
and 443 forssl_endpoint
. Can be specified multiple times as inendpoint=[::1] endpoint=192.168.0.100:8000
.- Type:
Integer
- Default:
None
ssl_certificate
- Description:
Path to the SSL certificate file used for SSL-enabled endpoints.
- Type:
String
- Default:
None
ssl_private_key
- Description:
Optional path to the private key file used for SSL-enabled endpoints. If one is not given, the
ssl_certificate
file is used as the private key.- Type:
String
- Default:
None
tcp_nodelay
- Description:
If set the socket option will disable Nagle’s algorithm on the connection which means that packets will be sent as soon as possible instead of waiting for a full buffer or timeout to occur.
1
Disable Nagel’s algorithm for all sockets.0
Keep the default: Nagel’s algorithm enabled.- Type:
Integer (0 or 1)
- Default:
0
Civetweb¶
New in version Firefly.
The civetweb
frontend uses the Civetweb HTTP library, which is a
fork of Mongoose.
Options¶
port
- Description:
Sets the listening port number. For SSL-enabled ports, add an
s
suffix like443s
. To bind a specific IPv4 or IPv6 address, use the formaddress:port
. Multiple endpoints can either be separated by+
as in127.0.0.1:8000+443s
, or by providing multiple options as inport=8000 port=443s
.- Type:
String
- Default:
7480
num_threads
- Description:
Sets the number of threads spawned by Civetweb to handle incoming HTTP connections. This effectively limits the number of concurrent connections that the frontend can service.
- Type:
Integer
- Default:
rgw_thread_pool_size
request_timeout_ms
- Description:
The amount of time in milliseconds that Civetweb will wait for more incoming data before giving up.
- Type:
Integer
- Default:
30000
ssl_certificate
- Description:
Path to the SSL certificate file used for SSL-enabled ports.
- Type:
String
- Default:
None
A complete list of supported options can be found in the Civetweb User Manual.
Generic Options¶
Some frontend options are generic and supported by all frontends:
prefix
- Description:
A prefix string that is inserted into the URI of all requests. For example, a swift-only frontend could supply a uri prefix of
/swift
.- Type:
String
- Default:
None