HTTP Frontends¶
Contents
The Ceph Object Gateway supports two embedded HTTP frontend libraries
that can be configured with rgw_frontends
.
Beast¶
New in version Mimic.
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
max_connection_backlog
- Description
Optional value to define the maximum size for the queue of connections waiting to be accepted. If not configured, the value from
boost::asio::socket_base::max_connections
will be used.- Type
Integer
- Default
None
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