4.4 Настройка TLS
Этот раздел является черновиком и может быть изменён.
По умолчанию:
client_ssl_mode = PREFERRED
server_ssl_mode = AS_CLIENT
Это устанавливает TLS-соединения между клиентом и маршрутизатором, если клиент желает переключиться на TLS, а сервер поддерживает TLS. Это также соответствует существующему поведению для клиента и сервера без маршрутизатора между ними.
Настройка конечной точки TLS
MySQL Router принимает TLS-сессию и открывает новую TLS-сессию для сервера. Например:
client <-> router // TCP
router <-> server // TCP
client <-> router // TLS
router <-> server // TLS
Чтобы принять TLS-сессию от клиента, маршрутизатор должен представить TLS-клиенту сертификат, используя client_ssl_cert и client_ssl_key.
Для подключения TLS-сессии к серверу маршрутизатор проверяет сертификаты сервера, используя server_ssl_verify server_ssl_verify server_ssl_ca server_ssl_capath server_ssl_crl и server_ssl_crlpath.
Протоколы подключения TLSv1 и TLSv1.1 устарели начиная с MySQL Router 8.0.26, и поддержка их может быть удалена в будущих версиях.
Режимы SSL
Поскольку существуют две TLS-сессии (между клиентом и маршрутизатором; маршрутизатором и сервером), также могут быть два независимых состояния соединения.
И client_ssl_mode, и server_ssl_mode принимают значения DISABLED, PREFERRED или REQUIRED. Кроме того, server_ssl_mode принимает AS_CLIENT, а client_ssl_mode принимает PASSTHROUGH.
DISABLED: Маршрутизатор не предлагает шифрование клиенту, и клиент не может переключить соединение клиент-маршрутизатор на TLS. Клиент может прервать соединение, если ему необходимо переключиться на TLS.PREFERRED(по умолчанию): Маршрутизатор принимает TLS-соединение от клиента, но также допускает, если клиент не переключается на шифрование.REQUIRED: Маршрутизатор принимает TLS-соединение от клиента и откажется от соединения, если оно не переключится на TLS до завершения аутентификации.PASSTHROUGH: Означает 'передать всё серверу' и позволяет клиенту и серверу самим решать, хотят ли они переключаться на TLS или нет. Это было значение по умолчанию до Router 8.0.23 и принимается толькоclient_ssl_mode.AS_CLIENT(по умолчанию): если соединение клиент-маршрутизатор зашифровано, то также зашифровать соединение маршрутизатор-сервер, в противном случае не шифровать. Этот параметр принимается толькоserver_ssl_mode.
Дополнительные связанные параметры
Параметр server_ssl_verify разделяет 'VERIFY_CA' и 'VERIFY_IDENTITY' от 'ssl_mode', известного из MySQL клиента и MySQL сервера. В случае MySQL клиента VERIFY_CA означает ssl_mode=REQUIRED и проверку CA|IDENTITY. В случае маршрутизатора, маршрутизатор проверяет сертификаты независимо от server_ssl_mode; вместо этого он исходит исключительно из того, зашифровано ли соединение и если server_ssl_verify не DISABLED, в этом случае он проверяется.
Дополнительные параметры включают server_ssl_dh_params, client_ssl_dh_params, server_ssl_dh_params, client_ssl_dh_params, server_ssl_curves и client_ssl_curves.
Все параметры маршрутизации и дополнительная информация доступны в Параметры маршрутизации.
© 2025 Oracle
Licensed under the GPLv2 License.