]>
Commit | Line | Data |
---|---|---|
11fdf7f2 TL |
1 | .. _rgw_frontends: |
2 | ||
94b18763 FG |
3 | ============== |
4 | HTTP Frontends | |
5 | ============== | |
6 | ||
7 | .. contents:: | |
8 | ||
9 | The Ceph Object Gateway supports two embedded HTTP frontend libraries | |
81eedcae TL |
10 | that can be configured with ``rgw_frontends``. See `Config Reference`_ |
11 | for details about the syntax. | |
94b18763 FG |
12 | |
13 | Beast | |
14 | ===== | |
15 | ||
11fdf7f2 | 16 | .. versionadded:: Mimic |
94b18763 FG |
17 | |
18 | The ``beast`` frontend uses the Boost.Beast library for HTTP parsing | |
19 | and the Boost.Asio library for asynchronous network i/o. | |
20 | ||
21 | Options | |
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 |
90 | Civetweb |
91 | ======== | |
92 | ||
93 | .. versionadded:: Firefly | |
94 | ||
95 | The ``civetweb`` frontend uses the Civetweb HTTP library, which is a | |
96 | fork of Mongoose. | |
97 | ||
98 | ||
99 | Options | |
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 | ||
160 | The 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 | |
165 | A complete list of supported options can be found in the `Civetweb User Manual`_. | |
166 | ||
167 | ||
168 | Generic Options | |
169 | =============== | |
170 | ||
171 | Some 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 |