]> git.proxmox.com Git - ceph.git/blame - ceph/doc/radosgw/frontends.rst
import 15.2.0 Octopus source
[ceph.git] / ceph / doc / radosgw / frontends.rst
CommitLineData
11fdf7f2
TL
1.. _rgw_frontends:
2
94b18763
FG
3==============
4HTTP Frontends
5==============
6
7.. contents::
8
9The Ceph Object Gateway supports two embedded HTTP frontend libraries
81eedcae
TL
10that can be configured with ``rgw_frontends``. See `Config Reference`_
11for details about the syntax.
94b18763
FG
12
13Beast
14=====
15
11fdf7f2 16.. versionadded:: Mimic
94b18763
FG
17
18The ``beast`` frontend uses the Boost.Beast library for HTTP parsing
19and the Boost.Asio library for asynchronous network i/o.
20
21Options
22-------
23
f64942e4 24``port`` and ``ssl_port``
94b18763 25
81eedcae 26:Description: Sets the ipv4 & ipv6 listening port number. Can be specified multiple
28e407b8 27 times as in ``port=80 port=8000``.
94b18763
FG
28:Type: Integer
29:Default: ``80``
30
31
f64942e4 32``endpoint`` and ``ssl_endpoint``
28e407b8 33
81eedcae
TL
34:Description: Sets the listening address in the form ``address[:port]``, where
35 the address is an IPv4 address string in dotted decimal form, or
36 an IPv6 address in hexadecimal notation surrounded by square
37 brackets. Specifying a IPv6 endpoint would listen to v6 only. The
38 optional port defaults to 80 for ``endpoint`` and 443 for
39 ``ssl_endpoint``. Can be specified multiple times as in
40 ``endpoint=[::1] endpoint=192.168.0.100:8000``.
28e407b8
AA
41
42:Type: Integer
43:Default: None
44
45
f64942e4
AA
46``ssl_certificate``
47
48:Description: Path to the SSL certificate file used for SSL-enabled endpoints.
9f95a23c
TL
49 If path is prefixed with ``config://``, the certificate will be
50 pulled from the ceph monitor ``config-key`` database.
f64942e4
AA
51
52:Type: String
53:Default: None
54
55
56``ssl_private_key``
57
58:Description: Optional path to the private key file used for SSL-enabled
59 endpoints. If one is not given, the ``ssl_certificate`` file
60 is used as the private key.
9f95a23c
TL
61 If path is prefixed with ``config://``, the certificate will be
62 pulled from the ceph monitor ``config-key`` database.
f64942e4
AA
63
64:Type: String
65:Default: None
66
11fdf7f2
TL
67``tcp_nodelay``
68
69:Description: If set the socket option will disable Nagle's algorithm on
70 the connection which means that packets will be sent as soon
71 as possible instead of waiting for a full buffer or timeout to occur.
72
73 ``1`` Disable Nagel's algorithm for all sockets.
74
75 ``0`` Keep the default: Nagel's algorithm enabled.
76
77:Type: Integer (0 or 1)
78:Default: 0
79
9f95a23c
TL
80``max_connection_backlog``
81
82:Description: Optional value to define the maximum size for the queue of
83 connections waiting to be accepted. If not configured, the value
84 from ``boost::asio::socket_base::max_connections`` will be used.
85
86:Type: Integer
87:Default: None
88
f64942e4 89
94b18763
FG
90Civetweb
91========
92
93.. versionadded:: Firefly
94
95The ``civetweb`` frontend uses the Civetweb HTTP library, which is a
96fork of Mongoose.
97
98
99Options
100-------
101
102``port``
103
104:Description: Sets the listening port number. For SSL-enabled ports, add an
105 ``s`` suffix like ``443s``. To bind a specific IPv4 or IPv6
106 address, use the form ``address:port``. Multiple endpoints
28e407b8
AA
107 can either be separated by ``+`` as in ``127.0.0.1:8000+443s``,
108 or by providing multiple options as in ``port=8000 port=443s``.
94b18763
FG
109
110:Type: String
111:Default: ``7480``
112
113
114``num_threads``
115
116:Description: Sets the number of threads spawned by Civetweb to handle
117 incoming HTTP connections. This effectively limits the number
118 of concurrent connections that the frontend can service.
119
120:Type: Integer
121:Default: ``rgw_thread_pool_size``
122
123
124``request_timeout_ms``
125
126:Description: The amount of time in milliseconds that Civetweb will wait
127 for more incoming data before giving up.
128
129:Type: Integer
130:Default: ``30000``
131
132
133``ssl_certificate``
134
135:Description: Path to the SSL certificate file used for SSL-enabled ports.
136
137:Type: String
138:Default: None
139
11fdf7f2
TL
140``access_log_file``
141
142:Description: Path to a file for access logs. Either full path, or relative
143 to the current working directory. If absent (default), then
144 accesses are not logged.
145
146:Type: String
147:Default: ``EMPTY``
148
149
150``error_log_file``
151
152:Description: Path to a file for error logs. Either full path, or relative
153 to the current working directory. If absent (default), then
154 errors are not logged.
155
156:Type: String
157:Default: ``EMPTY``
158
159
160The following is an example of the ``/etc/ceph/ceph.conf`` file with some of these options set: ::
161
162 [client.rgw.gateway-node1]
81eedcae 163 rgw_frontends = civetweb request_timeout_ms=30000 error_log_file=/var/log/radosgw/civetweb.error.log access_log_file=/var/log/radosgw/civetweb.access.log
94b18763
FG
164
165A complete list of supported options can be found in the `Civetweb User Manual`_.
166
167
168Generic Options
169===============
170
171Some frontend options are generic and supported by all frontends:
172
173``prefix``
174
175:Description: A prefix string that is inserted into the URI of all
176 requests. For example, a swift-only frontend could supply
177 a uri prefix of ``/swift``.
178
179:Type: String
180:Default: None
181
182
183.. _Civetweb User Manual: https://civetweb.github.io/civetweb/UserManual.html
81eedcae 184.. _Config Reference: ../config-ref