Skip to content

Commit deb84b2

Browse files
committed
Connection settings: update per review
1 parent 61651a8 commit deb84b2

File tree

1 file changed

+60
-57
lines changed

1 file changed

+60
-57
lines changed

doc/concepts/configuration/configuration_connections.rst

Lines changed: 60 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ In this case, this port is used for all IP addresses the server listens on.
7272
SSL parameters
7373
~~~~~~~~~~~~~~
7474

75-
You can enable :ref:`traffic encryption <configuration_connections_ssl>` for a connection using the ``params`` section of the specified URI:
75+
In the Enterprise Edition, you can enable :ref:`traffic encryption <configuration_connections_ssl>` for a connection using the ``params`` section of the specified URI:
7676

7777
.. literalinclude:: /code_snippets/snippets/replication/instances.enabled/ssl_without_ca/config.yaml
7878
:language: yaml
@@ -102,15 +102,17 @@ For local development, you can enable communication between cluster members by u
102102
Advertise settings
103103
------------------
104104

105-
Advertise settings (:ref:`iproto.advertise.* <configuration_reference_iproto_advertise>`) let other cluster members or clients know how to connect to the current Tarantool instance.
106-
These settings might include the credentials required to connect to this instance, a URI used to listen for incoming requests, and SSL settings.
105+
Advertise settings (:ref:`iproto.advertise.* <configuration_reference_iproto_advertise>`) let other cluster members or clients know how to connect to the current Tarantool instance:
107106

108-
If an advertise URI is not specified explicitly, a :ref:`listen URI <configuration_connections_listen_uri>` of this instance is used.
109-
In this case, you need at least to specify credentials for connecting to this instance.
107+
- ``iproto.advertise.peer`` specifies how to advertise the instance to other cluster members.
108+
- ``iproto.advertise.sharding`` specifies how to advertise the instance to a router and rebalancer.
109+
- ``iproto.advertise.client`` accepts a URI used to advertise the instance to clients.
110+
111+
``iproto_advertise.<peer_or_sharding>`` might include the credentials required to connect to this instance, a URI used to listen for incoming requests, and SSL settings.
110112

111-
.. NOTE::
113+
If ``iproto_advertise.<peer_or_sharding>.uri`` is not specified explicitly, a :ref:`listen URI <configuration_connections_listen_uri>` of this instance is used.
114+
In this case, you need at least to specify credentials for connecting to this instance.
112115

113-
If several listen URIs are specified, the first one is used as an advertise URI.
114116

115117
.. _configuration_connections_advertise_credentials:
116118

@@ -160,55 +162,9 @@ The ``iproto_advertise.<peer_or_sharding>.uri`` option can also accept an FQDN i
160162
peer:
161163
uri: 'server001.example.com:3301'
162164
165+
To learn about the specifics of configuring an advertise URI’s SSL settings, see :ref:`configuration_connections_ssl_advertise_uri`.
163166

164-
.. _configuration_connections_advertise_uri_ssl:
165-
166-
SSL parameters
167-
~~~~~~~~~~~~~~
168-
169-
:ref:`SSL parameters <configuration_connections_ssl>` for an advertise URI should be set only if this :ref:`advertise URI is specified explicitly <configuration_connections_advertise_explicitly>`.
170-
Otherwise, SSL parameters of a listen URI are used and no additional configuration is required.
171-
172-
Configuring an advertise URI's SSL options depends on whether a trusted certificate authorities (CA) file is set or not.
173-
Without the CA file, you only need to set ``iproto_advertise.<peer_or_sharding>.params.transport`` to ``ssl`` as shown below:
174-
175-
.. code-block:: yaml
176-
177-
instance001:
178-
iproto:
179-
listen:
180-
- uri: '192.168.0.101:3301'
181-
params:
182-
transport: 'ssl'
183-
ssl_cert_file: 'certs/server.crt'
184-
ssl_key_file: 'certs/server.key'
185-
advertise:
186-
peer:
187-
uri: 'server.example.com:3301'
188-
params:
189-
transport: 'ssl'
190-
191-
192-
If the CA file is specified for a listen URI, you also need to configure ``ssl_cert_file`` and ``ssl_key_file`` for this advertise URI:
193-
194-
.. code-block:: yaml
195167

196-
instance001:
197-
iproto:
198-
listen:
199-
- uri: '192.168.0.101:3301'
200-
params:
201-
transport: 'ssl'
202-
ssl_ca_file: 'certs/root_ca.crt'
203-
ssl_cert_file: 'certs/instance001/server001.crt'
204-
ssl_key_file: 'certs/instance001/server001.key'
205-
advertise:
206-
peer:
207-
uri: 'server001.example.com:3301'
208-
params:
209-
transport: 'ssl'
210-
ssl_cert_file: 'certs/instance001/server001.crt'
211-
ssl_key_file: 'certs/instance001/server001.key'
212168

213169

214170
.. _configuration_connections_ssl:
@@ -226,9 +182,6 @@ Securing connections with SSL
226182
Tarantool supports the use of SSL connections to encrypt client-server communications for increased security.
227183
To enable SSL, use the :ref:`<uri>.params.* <configuration_reference_iproto_uri_params>` options, which can be applied to both listen and advertise URIs.
228184

229-
This section shows how to configure SSL settings for a listen URI.
230-
To learn about the specifics of configuring an advertise URI's SSL settings, see :ref:`SSL parameters <configuration_connections_advertise_uri_ssl>`.
231-
232185

233186
.. _configuration_connections_ssl_without_ca:
234187

@@ -275,6 +228,56 @@ The following parameters are specified for each instance:
275228
You can find the full example here: `ssl_with_ca <https://github.com/tarantool/doc/tree/latest/doc/code_snippets/snippets/replication/instances.enabled/ssl_with_ca>`_.
276229

277230

231+
.. _configuration_connections_ssl_advertise_uri:
232+
233+
Advertise URI specifics
234+
~~~~~~~~~~~~~~~~~~~~~~~
235+
236+
SSL parameters for an advertise URI should be set only if this :ref:`advertise URI is specified explicitly <configuration_connections_advertise_explicitly>`.
237+
Otherwise, SSL parameters of a listen URI are used and no additional configuration is required.
238+
239+
Configuring an advertise URI's SSL options depends on whether a trusted certificate authorities (CA) file is set or not.
240+
Without the CA file, you only need to set ``iproto_advertise.<peer_or_sharding>.params.transport`` to ``ssl`` as shown below:
241+
242+
.. code-block:: yaml
243+
244+
instance001:
245+
iproto:
246+
listen:
247+
- uri: '192.168.0.101:3301'
248+
params:
249+
transport: 'ssl'
250+
ssl_cert_file: 'certs/server.crt'
251+
ssl_key_file: 'certs/server.key'
252+
advertise:
253+
peer:
254+
uri: 'server.example.com:3301'
255+
params:
256+
transport: 'ssl'
257+
258+
259+
If the CA file is specified for a listen URI, you also need to configure ``ssl_cert_file`` and ``ssl_key_file`` for this advertise URI:
260+
261+
.. code-block:: yaml
262+
263+
instance001:
264+
iproto:
265+
listen:
266+
- uri: '192.168.0.101:3301'
267+
params:
268+
transport: 'ssl'
269+
ssl_ca_file: 'certs/root_ca.crt'
270+
ssl_cert_file: 'certs/instance001/server001.crt'
271+
ssl_key_file: 'certs/instance001/server001.key'
272+
advertise:
273+
peer:
274+
uri: 'server001.example.com:3301'
275+
params:
276+
transport: 'ssl'
277+
ssl_cert_file: 'certs/instance001/server001.crt'
278+
ssl_key_file: 'certs/instance001/server001.key'
279+
280+
278281
279282
.. _configuration_connections_ssl_reloading_certificates:
280283

0 commit comments

Comments
 (0)