push ru help
All checks were successful
Deploy Static Site / deploy (push) Successful in 6m55s

This commit is contained in:
2025-05-28 05:24:40 +04:00
parent 0113fb8289
commit 041abbbd24
4459 changed files with 121310 additions and 86248 deletions

View File

@ -1,19 +1,20 @@
<!DOCTYPE html>
<html lang="en">
<html lang="ru">
<head>
<title>RabbitMQ cluster</title>
<title>Кластер RabbitMQ</title>
<meta name="generator" content="Help+Manual" />
<meta name="keywords" content="" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="To work with the BRIX application, RabbitMQ version 3.9.15 or higher is required. The article describes the installation of RabbitMQ 3.12.0 and Erlang 25.3.2.2-1 for Ubuntu..." />
<meta name="description" content="Для работы приложения ELMA365 необходимо установить RabbitMQ версии 3.9.153.12. Установка RabbitMQ версии&nbsp;4.0 не&nbsp;поддерживается в текущей версии ELMA365." />
<meta name="picture" content="" />
<meta property="og:type" content="website" />
<meta property="og:title" content="Full documentation for BRIX365 platform. Low-code developer guide. User guide. Admin guide. Developer guide." />
<meta property="og:url" content="https://brix365.com/en/help" />
<meta property="og:image" content="" />
<meta property="og:title" content="Cправка по Low-code платформе ELMA365" />
<meta property="og:url" content="https://elma365.com/ru/help" />
<meta property="og:image" content="" />
<meta property="og:site_name" content="ELMA365" />
<link rel="icon" href="favicon.png" type="image/png" />
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" />
@ -23,6 +24,7 @@
<link rel="stylesheet" href="./article.css" />
<link rel="stylesheet" href="./glossary.css" />
<link rel="stylesheet" href="./theme.css" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="helpman_settings.js"></script>
<script type="text/javascript" src="helpman_topicinit.js"></script>
@ -34,16 +36,16 @@
</head>
<body>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-M6ETBEC1R9"></script><script>window.dataLayer=window.dataLayer || []; function gtag(){dataLayer.push(arguments);}gtag('js', new Date()); gtag('config', 'G-M6ETBEC1R9');</script>
<script>!function(e,t,c,n,r,a,m){e.ym=e.ym||function(){(e.ym.a=e.ym.a||[]).push(arguments)},e.ym.l=1*new Date;for(var s=0;s<document.scripts.length;s++)if(document.scripts[s].src===n)return;a=t.createElement(c),m=t.getElementsByTagName(c)[0],a.async=1,a.src=n,m.parentNode.insertBefore(a,m)}(window,document,"script","https://mc.yandex.ru/metrika/tag.js"),ym(83179930,"init",{clickmap:!0,trackLinks:!0,accurateTrackBounce:!0,webvisor:!0})</script><noscript><div><img alt=""src=https://mc.yandex.ru/watch/83179930 style=position:absolute;left:-9999px></div></noscript>
<header class="header elma-365">
<div class="container">
<a class="header__logo" href="https://brix365.com/en/help">
<img src="./logo-en.svg" alt="header logo">
<a class="header__logo" href="https://elma365.com/ru/help">
<img src="./logo.svg" alt="header logo">
</a>
<!-- <div class="hero__search-form" id="search-panel">
<form class="search-form" onsubmit="ym(83180416,'reachGoal','poisk')">
<form class="search-form" onsubmit="ym(83179930,'reachGoal','poisk')">
<label class="search-form__label">
<span id="reset-search" class="search__icon"></span>
<input class="search-form__input" type="text">
@ -63,7 +65,7 @@
</div>
<div class="header__navi">
<ul class="header__list"><li><span class="solution-select"><span class="solution-select__selected"></span><svg width="7" height="4" viewBox="0 0 7 4" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L3.5 3.5L6 1" stroke="white" stroke-linecap="round" stroke-linejoin="round"/></svg><ul class="solution-select__list"><li><a class="project-link" href="https://brix365.com/en/help/platform/get-trial.html">Platform</a></li><li><a class="project-link" href="https://brix365.com/en/help/ecm/ecm-functions.html">ECM</a></li><li><a class="project-link" href="https://brix365.com/en/help/crm/crm_overview.html">CRM</a></li><li><a class="project-link" href="https://brix365.com/en/help/service/service-functions.html">Service</a></li><li><a class="project-link" href="https://brix365.com/en/help/projects/projects-functions.html">Projects</a></li><li><a class="project-link" href="https://brix365.com/en/help/business_solutions/-elma365-store.html">Business Solutions</a></li></ul></span></li><li><a href="https://api.brix365.com/en/" target="_blank">API</a></li><li><a href="https://tssdk.brix365.com/" target="_blank">SDK</a></li></ul>
<ul class="header__list"><li><span class="solution-select"><span class="solution-select__selected"></span><svg width="7" height="4" viewBox="0 0 7 4" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L3.5 3.5L6 1" stroke="white" stroke-linecap="round" stroke-linejoin="round"/></svg><ul class="solution-select__list"><li><a class="project-link" href="https://elma365.com/ru/help/platform/get-trial.html">Платформа</a></li><li><a class="project-link" href="https://elma365.com/ru/help/ecm/ecm-functions.html">ECM</a></li><li><a class="project-link" href="https://elma365.com/ru/help/crm/crm_overview.html">CRM</a></li><li><a class="project-link" href="https://elma365.com/ru/help/service/service-functions.html">Service</a></li><li><a class="project-link" href="https://elma365.com/ru/help/projects/projects-functions.html">Проекты</a></li><li><a class="project-link" href="https://elma365.com/ru/help/business_solutions/-elma365-store.html">Бизнес-решения</a></li></ul></span></li><li><a href="https://api.elma365.com/ru/"target="_blank">API</a></li><li><a href="https://tssdk.elma365.com/"target="_blank">SDK</a></li><li><a href="https://community.elma365.com/" target="_blank">Community</a></li><li><a href="https://elma-academy.com/ru/" target="_blank">Академия</a></li><li><a href="https://elma365.com/ru/" target="_blank">Сайт ELMA365</a></li></ul>
</div>
@ -78,8 +80,8 @@
<aside class="sidebar" id="sidebar">
<div class="sidebar__header">
<a class="header__logo" href="https://brix365.com/en/help">
<img src="./logo-light-en.svg">
<a class="header__logo" href="https://elma365.com/ru/help">
<img src="./logo-light.svg">
</a>
<span class="sidebar__close elma-365-close" id="close"></span>
</div>
@ -92,15 +94,15 @@
<div class="article-inner">
<div class="content">
<header class="article__header">
<div class="article__bread" style="display:flex; gap:10px;">
<div class="article__bread" style="display:flex; gap:10px;">
<span id="subcategory" class="search-res__item-category search-res__item-category_subcategory subcategory article__badge"></span>
<div class="topic__breadcrumbs">
<p><a href="elma365-on-premises.html">BRIX On-Premises</a> &gt; <a href="infrastructure-preparation.html">Prepare infrastructure</a> &gt; Databases &gt; High availability infrastructure / RabbitMQ cluster</p>
<p><a href="elma365-on-premises.html">ELMA365 On-Premises</a> &gt; <a href="infrastructure-preparation.html">Подготовка инфраструктуры</a> &gt; Базы данных &gt; Отказоустойчивая инфраструктура / Кластер RabbitMQ</p>
</div>
</div>
<div class="topic__title"><h1 class="p_Heading1"><span class="f_Heading1">RabbitMQ cluster</span></h1>
<div class="topic__title"><h1 class="p_Heading1"><span class="f_Heading1">Кластер RabbitMQ</span></h1>
</div>
</header>
@ -109,123 +111,125 @@
<a href="#h1-article" class="scroll-top"></a>
</div>
<!-- Placeholder for topic body. -->
<p class="p_Normal">To work with the BRIX application, RabbitMQ version 3.9.15 or higher is required. The article describes the installation of RabbitMQ 3.12.0 and Erlang 25.3.2.2-1 for Ubuntu Linux 20.04 and 22.04. You can also refer to the guide in the <a href="https://www.rabbitmq.com/install-debian.html" target="_blank" class="weblink">official RabbitMQ documentation</a> </p>
<p class="p_Normal">Installation consists of six steps:</p>
<p class="p_Normal">Для работы приложения ELMA365 необходимо установить RabbitMQ версии 3.9.153.12. Установка RabbitMQ версии 4.0 не поддерживается в текущей версии ELMA365.</p>
<p class="p_Normal">В статье описана установка RabbitMQ 3.12.0 и Erlang 25.3.2.2-1 для ОС Ubuntu Linux 20.04 и 22.04. Вы можете ознакомиться с руководством в <a href="https://www.rabbitmq.com/install-debian.html" target="_blank" class="weblink">официальной документации RabbitMQ</a>.</p>
<p class="p_Normal">Установка состоит из шести этапов:</p>
<ol style="list-style-type:decimal">
<li value="1" class="p_Normal"><a href="configure-rabbitmq.html#preparation-node" class="topiclink">Prepare nodes (servers)</a>.</li><li value="2" class="p_Normal"><a href="configure-rabbitmq.html#install-rabbitmq" class="topiclink">Install RabbitMQ</a>.</li><li value="3" class="p_Normal"><a href="configure-rabbitmq.html#preparation-cluster-rabbitmq" class="topiclink">Prepare RabbitMQ cluster</a>.</li><li value="4" class="p_Normal"><a href="configure-rabbitmq.html#setting-rabbitmq" class="topiclink">Configure RabbitMQ</a>.</li><li value="5" class="p_Normal"><a href="configure-rabbitmq.html#config-haproxy" class="topiclink">Configure HAproxy rabbitmq block)</a>.</li><li value="6" class="p_Normal"><a href="configure-rabbitmq.html#connect-to-rabbitmq" class="topiclink">Connect to RabbitMQ</a>.</li></ol>
<h2 class="p_Heading2"><a id="preparation-node" class="hmanchor"></a><span class="f_Heading2">Step 1: Prepare nodes (servers)</span></h2>
<li value="1" class="p_Normal"><a href="configure-rabbitmq.html#preparation-node" class="topiclink">Подготовка нод (серверов)</a>.</li><li value="2" class="p_Normal"><a href="configure-rabbitmq.html#install-rabbitmq" class="topiclink">Установка RabbitMQ</a>.</li><li value="3" class="p_Normal"><a href="configure-rabbitmq.html#preparation-cluster-rabbitmq" class="topiclink">Подготовка кластера RabbitMQ</a>.</li><li value="4" class="p_Normal"><a href="configure-rabbitmq.html#setting-rabbitmq" class="topiclink">Настройка RabbitMQ</a>.</li><li value="5" class="p_Normal"><a href="configure-rabbitmq.html#config-haproxy" class="topiclink">Конфигурация HAproxy (блок rabbitmq)</a>.</li><li value="6" class="p_Normal"><a href="configure-rabbitmq.html#connect-to-rabbitmq" class="topiclink">Подключение к RabbitMQ</a>.</li></ol>
<h2 class="p_Heading2"><a id="preparation-node" class="hmanchor"></a><span class="f_Heading2">Шаг 1. Подготовка нод (серверов)</span></h2>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">начало&nbsp;внимание</span></p>
<p class="p_Normal">The minimum number of servers to organize a cluster is three.</p>
<p class="p_Normal">Минимальное количество серверов для организации кластера — три.</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">конец&nbsp;внимание</span></p>
<ol style="list-style-type:upper-roman">
<li value="1" class="p_Normal">Create three nodes (servers) with sequentially numbered host names:</li></ol>
<li value="1" class="p_Normal">Создайте три ноды (сервера) с последовательно пронумерованными именами хостов:</li></ol>
<ul style="list-style-type:disc">
<li class="p_Normal"><span style="font-weight: bold;">rabbitmq-server1.your_domain</span>;</li><li class="p_Normal"><span style="font-weight: bold;">rabbitmq-server2.your_domain</span>;</li><li class="p_Normal"><span style="font-weight: bold;">rabbitmq-server3.your_domain</span>.</li></ul>
<ol style="list-style-type:upper-roman" start="2">
<li value="2" class="p_Normal">Create the necessary host name mappings in DNS. If this is not possible, add the required entries to<span style="font-weight: bold;"> /etc/hosts</span>.</li></ol>
<h2 class="p_Heading2"><a id="install-rabbitmq" class="hmanchor"></a><span class="f_Heading2">Step 2: Install RabbitMQ</span></h2>
<li value="2" class="p_Normal">Создайте необходимые сопоставления имён хостов в DNS. Если такой возможности нет, внесите нужные записи в<span style="font-weight: bold;"> /etc/hosts</span>.</li></ol>
<h2 class="p_Heading2"><a id="install-rabbitmq" class="hmanchor"></a><span class="f_Heading2">Шаг 2. Установка RabbitMQ</span></h2>
<ol style="list-style-type:upper-roman">
<li value="1" class="p_Normal">Install the necessary packages:</li></ol>
<li value="1" class="p_Normal">Установите необходимые пакеты:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo&nbsp;apt-get&nbsp;install&nbsp;curl&nbsp;gnupg&nbsp;apt-transport-https&nbsp;-y</span></p>
<ol style="list-style-type:upper-roman" start="2">
<li value="2" class="p_Normal">Import all necessary keys:</li></ol>
<li value="2" class="p_Normal">Импортируйте все необходимые ключи:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">curl&nbsp;-1sLf&nbsp;&quot;https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA&quot;&nbsp;|&nbsp;sudo&nbsp;gpg&nbsp;--dearmor&nbsp;|&nbsp;sudo&nbsp;tee&nbsp;/usr/share/keyrings/com.rabbitmq.team.gpg&nbsp;&gt;&nbsp;/dev/</span><span class="f_CodeExample" style="font-weight: bold;">null</span><br />
<span class="f_CodeExample">curl&nbsp;-1sLf&nbsp;https://ppa1.novemberain.com/gpg.E495BB49CC4BBE5B.key&nbsp;|&nbsp;sudo&nbsp;gpg&nbsp;--dearmor&nbsp;|&nbsp;sudo&nbsp;tee&nbsp;/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg&nbsp;&gt;&nbsp;/dev/null</span><br />
<span class="f_CodeExample">curl&nbsp;-1sLf&nbsp;https://ppa1.novemberain.com/gpg.9F4587F226208342.key&nbsp;|&nbsp;sudo&nbsp;gpg&nbsp;--dearmor&nbsp;|&nbsp;sudo&nbsp;tee&nbsp;/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg&nbsp;&gt;&nbsp;/dev/null</span></p>
<p class="p_Normal">Актуальные ключи для разных версий RabbitMQ перечислены в <a href="https://www.rabbitmq.com/docs/install-debian#cloudsmith-signing-keys" target="_blank" class="weblink">официальной документации RabbitMQ</a>.</p>
<ol style="list-style-type:upper-roman" start="3">
<li value="3" class="p_Normal">Add <span style="font-weight: bold;">RabbitMQ</span> repositories:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo&nbsp;tee&nbsp;/etc/apt/sources.list.d/rabbitmq.list&nbsp;&lt;&lt;EOF</span><br />
<span class="f_CodeExample">deb&nbsp;[signed-by=/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg]&nbsp;https://ppa1.novemberain.com/rabbitmq/rabbitmq-erlang/deb/ubuntu&nbsp;$(lsb_release&nbsp;-cs)&nbsp;main</span><br />
<span class="f_CodeExample">deb-src&nbsp;[signed-by=/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg]&nbsp;https://ppa1.novemberain.com/rabbitmq/rabbitmq-erlang/deb/ubuntu&nbsp;$(lsb_release&nbsp;-cs)&nbsp;main</span><br />
<li value="3" class="p_Normal">Добавьте репозитории <span style="font-weight: bold;">RabbitMQ</span>:</li></ol>
<p class="p_CodeExample" style="white-space: normal; page-break-inside: auto; page-break-after: avoid;"><span class="f_CodeExample">sudo tee /etc/apt/sources.list.d/rabbitmq.list &lt;&lt;EOF</span><br />
<span class="f_CodeExample">deb [signed-by=/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://ppa1.novemberain.com/rabbitmq/rabbitmq-erlang/deb/ubuntu $(lsb_release -cs) main</span><br />
<span class="f_CodeExample">deb-src [signed-by=/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://ppa1.novemberain.com/rabbitmq/rabbitmq-erlang/deb/ubuntu $(lsb_release -cs) main</span><br />
<span class="f_CodeExample">&nbsp;</span><br />
<span class="f_CodeExample">deb&nbsp;[signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg]&nbsp;https://ppa1.novemberain.com/rabbitmq/rabbitmq-server/deb/ubuntu&nbsp;$(lsb_release&nbsp;-cs)&nbsp;main</span><br />
<span class="f_CodeExample">deb-src&nbsp;[signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg]&nbsp;https://ppa1.novemberain.com/rabbitmq/rabbitmq-server/deb/ubuntu&nbsp;$(lsb_release&nbsp;-cs)&nbsp;main</span><br />
<span class="f_CodeExample">deb [signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa1.novemberain.com/rabbitmq/rabbitmq-server/deb/ubuntu $(lsb_release -cs) main</span><br />
<span class="f_CodeExample">deb-src [signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://ppa1.novemberain.com/rabbitmq/rabbitmq-server/deb/ubuntu $(lsb_release -cs) main</span><br />
<span class="f_CodeExample">EOF</span></p>
<ol style="list-style-type:upper-roman" start="4">
<li value="4" class="p_Normal">Update the package cache:</li></ol>
<li value="4" class="p_Normal">Обновите кеш пакетов:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo&nbsp;apt-get&nbsp;update&nbsp;-y</span></p>
<ol style="list-style-type:upper-roman" start="5">
<li value="5" class="p_Normal">Install <span style="font-weight: bold;">Erlang</span> packages:</li></ol>
<li value="5" class="p_Normal">Установите пакеты <span style="font-weight: bold;">Erlang</span>:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo&nbsp;apt-get&nbsp;install&nbsp;-y&nbsp;erlang-base=1:25.3.2.2-1&nbsp;erlang-asn1=1:25.3.2.2-1&nbsp;erlang-crypto=1:25.3.2.2-1&nbsp;erlang-eldap=1:25.3.2.2-1&nbsp;erlang-ftp=1:25.3.2.2-1&nbsp;erlang-inets=1:25.3.2.2-1&nbsp;erlang-mnesia=1:25.3.2.2-1&nbsp;erlang-os-mon=1:25.3.2.2-1&nbsp;erlang-parsetools=1:25.3.2.2-1&nbsp;erlang-</span><span class="f_CodeExample" style="font-weight: bold;">public</span><span class="f_CodeExample">-key=1:25.3.2.2-1&nbsp;erlang-runtime-tools=1:25.3.2.2-1&nbsp;erlang-snmp=1:25.3.2.2-1&nbsp;erlang-ssl=1:25.3.2.2-1&nbsp;erlang-syntax-tools=1:25.3.2.2-1&nbsp;erlang-tftp=1:25.3.2.2-1&nbsp;erlang-tools=1:25.3.2.2-1&nbsp;erlang-xmerl=1:25.3.2.2-1</span></p>
<ol style="list-style-type:upper-roman" start="6">
<li value="6" class="p_Normal">Install <span style="font-weight: bold;">rabbitmq-server</span> and its dependencies:</li></ol>
<li value="6" class="p_Normal">Установите <span style="font-weight: bold;">rabbitmq-server</span> и его зависимости:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo&nbsp;apt-get&nbsp;install&nbsp;rabbitmq-server=3.12.0-1&nbsp;-y&nbsp;--fix-missing</span></p>
<ol style="list-style-type:upper-roman" start="7">
<li value="7" class="p_Normal">Start <span style="font-weight: bold;">rabbitmq-server</span>:</li></ol>
<li value="7" class="p_Normal">Запустите <span style="font-weight: bold;">rabbitmq-server</span>:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo&nbsp;systemctl&nbsp;enable&nbsp;--now&nbsp;rabbitmq-server</span></p>
<h2 class="p_Heading2"><a id="preparation-cluster-rabbitmq" class="hmanchor"></a><span class="f_Heading2">Step 3: Prepare RabbitMQ cluster</span></h2>
<h2 class="p_Heading2"><a id="preparation-cluster-rabbitmq" class="hmanchor"></a><span class="f_Heading2">Шаг 3. Подготовка кластера RabbitMQ</span></h2>
<ol style="list-style-type:upper-roman">
<li value="1" class="p_Normal">On each <span style="font-weight: bold;">rabbitmq</span> node, create the file <code><b>/etc/rabbitmq/rabbitmq-env.conf</b></code> and add the environment variables <code><b>RABBITMQ_NODENAME</b></code> and <code><b>RABBITMQ_USE_LONGNAME</b></code>.</li></ol>
<p class="p_Normal">Example content for <span style="font-weight: bold;">rabbitmq-server1.your_domain</span>:</p>
<li value="1" class="p_Normal">На каждой ноде <span style="font-weight: bold;">rabbitmq</span> создайте файл <code><b>/etc/rabbitmq/rabbitmq-env.conf</b></code> и добавьте переменные окружения <code><b>RABBITMQ_NODENAME</b></code> и <code><b>RABBITMQ_USE_LONGNAME</b></code>.</li></ol>
<p class="p_Normal">Пример заполнения для <span style="font-weight: bold;">rabbitmq-server1.your_domain</span>:</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">RABBITMQ_NODENAME=rabbit@rabbitmq-server1.your_domain</span><br />
<span class="f_CodeExample">RABBITMQ_USE_LONGNAME=</span><span class="f_CodeExample" style="font-weight: bold;">true</span></p>
<p class="p_Normal">Example content for<span style="font-weight: bold;"> rabbitmq-server2.your_domain</span>:</p>
<p class="p_Normal">Пример заполнения для<span style="font-weight: bold;"> rabbitmq-server2.your_domain</span>:</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">RABBITMQ_NODENAME=rabbit@rabbitmq-server2.your_domain</span><br />
<span class="f_CodeExample">RABBITMQ_USE_LONGNAME=</span><span class="f_CodeExample" style="font-weight: bold;">true</span></p>
<p class="p_Normal">Example content for <span style="font-weight: bold;">rabbitmq-server3.your_domain</span>:</p>
<p class="p_Normal">Пример заполнения для <span style="font-weight: bold;">rabbitmq-server3.your_domain</span>:</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">RABBITMQ_NODENAME=rabbit@rabbitmq-server3.your_domain</span><br />
<span class="f_CodeExample">RABBITMQ_USE_LONGNAME=</span><span class="f_CodeExample" style="font-weight: bold;">true</span></p>
<ol style="list-style-type:upper-roman" start="2">
<li value="2" class="p_Normal">Copy Cookie <span style="font-weight: bold;">/var/lib/rabbitmq/.erlang.cookie</span> from the first node<span style="font-weight: bold;"> rabbitmq-server1.your_domain</span> to all the other nodes in the cluster.</li></ol>
<li value="2" class="p_Normal">Скопируйте Cookie <span style="font-weight: bold;">/var/lib/rabbitmq/.erlang.cookie</span> с первого узла<span style="font-weight: bold;"> rabbitmq-server1.your_domain</span> на все остальные узлы в кластере.</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">Начало&nbsp;внимание</span></p>
<p class="p_Normal">For the RabbitMQ cluster to work, all nodes participating in the cluster must have the same content in the <span style="font-weight: bold;">/var/lib/rabbitmq/.erlang.cookie </span>file.</p>
<p class="p_Normal">Для работы кластера RabbitMQ у всех узлов, участвующих в кластере, должно совпадать содержимое файла <span style="font-weight: bold;">/var/lib/rabbitmq/.erlang.cookie</span>.</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">Конец&nbsp;внимание</span></p>
<ol style="list-style-type:upper-roman" start="3">
<li value="3" class="p_Normal">Restart the RabbitMQ service on each node:</li></ol>
<li value="3" class="p_Normal">Перезапустите сервис RabbitMQ на каждой ноде:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo&nbsp;systemctl&nbsp;restart&nbsp;rabbitmq-server</span></p>
<ol style="list-style-type:upper-roman" start="4">
<li value="4" class="p_Normal">Stop the application on nodes <span style="font-weight: bold;">rabbitmq-server2.your_domain</span> and <span style="font-weight: bold;">rabbitmq-server3.your_domain</span> for subsequent joining to the cluster:</li></ol>
<li value="4" class="p_Normal">Остановите приложение на узлах <span style="font-weight: bold;">rabbitmq-server2.your_domain</span> и <span style="font-weight: bold;">rabbitmq-server3.your_domain</span> для последующего присоединения к кластеру:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo&nbsp;rabbitmqctl&nbsp;stop_app</span></p>
<ol style="list-style-type:upper-roman" start="5">
<li value="5" class="p_Normal">Reset <span style="font-weight: bold;">rabbitmq</span> on nodes <span style="font-weight: bold;">rabbitmq-server2.your_domain</span> and <span style="font-weight: bold;">rabbitmq-server3.your_domain</span>:</li></ol>
<li value="5" class="p_Normal">Сбросьте <span style="font-weight: bold;">rabbitmq</span> на узлах <span style="font-weight: bold;">rabbitmq-server2.your_domain</span> и <span style="font-weight: bold;">rabbitmq-server3.your_domain</span>:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo&nbsp;rabbitmqctl&nbsp;reset</span></p>
<ol style="list-style-type:upper-roman" start="6">
<li value="6" class="p_Normal">Join nodes <span style="font-weight: bold;">rabbitmq-server2.your_domain</span> and <span style="font-weight: bold;">rabbitmq-server3.your_domain</span> to the cluster:</li></ol>
<li value="6" class="p_Normal">Присоедините узлы <span style="font-weight: bold;">rabbitmq-server2.your_domain</span> и <span style="font-weight: bold;">rabbitmq-server3.your_domain</span> к кластеру:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo&nbsp;rabbitmqctl&nbsp;join_cluster&nbsp;rabbit@rabbitmq-server1.your_domain</span></p>
<ol style="list-style-type:upper-roman" start="7">
<li value="7" class="p_Normal">Start the application on nodes <span style="font-weight: bold;">rabbitmq-server2.your_domain</span> and <span style="font-weight: bold;">rabbitmq-server3.your_domain</span>:</li></ol>
<li value="7" class="p_Normal">Запустите приложение на узлах <span style="font-weight: bold;">rabbitmq-server2.your_domain</span> и <span style="font-weight: bold;">rabbitmq-server3.your_domain</span>:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo&nbsp;rabbitmqctl&nbsp;start_app</span></p>
<ol style="list-style-type:upper-roman" start="8">
<li value="8" class="p_Normal">Check the cluster status:</li></ol>
<li value="8" class="p_Normal">Проверьте статус кластера:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo&nbsp;rabbitmqctl&nbsp;cluster_status</span></p>
<h2 class="p_Heading2"><a id="setting-rabbitmq" class="hmanchor"></a><span class="f_Heading2">Step 4: Configure RabbitMQ</span></h2>
<h2 class="p_Heading2"><a id="setting-rabbitmq" class="hmanchor"></a><span class="f_Heading2">Шаг 4. Настройка RabbitMQ</span></h2>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">начало&nbsp;примечание</span></p>
<p class="p_Normal"><span style="font-weight: bold;">Note</span></p>
<p class="p_Normal">For the password, the following characters are allowed:</p>
<p class="p_Normal"><span style="font-weight: bold;">Примечание</span></p>
<p class="p_Normal">Для пароля разрешается применять следующие символы:</p>
<ul style="list-style-type:disc">
<li class="p_Normal">Uppercase Latin letters: A to Z</li><li class="p_Normal">Lowercase Latin letters: a to z</li><li class="p_Normal">Digits: 0 to 9</li><li class="p_Normal">Symbols: -_</li></ul>
<p class="p_Normal">Reserved (invalid) symbols:</p>
<li class="p_Normal">Заглавные латинские буквы: от A до Z;</li><li class="p_Normal">Строчные латинские буквы: от a до z;</li><li class="p_Normal">Цифры от 0 до 9;</li><li class="p_Normal">Символы: &nbsp;-_.</li></ul>
<p class="p_Normal">Зарезервированные (недопустимые) символы:</p>
<p class="p_Normal">! * ' ( ) ; : @ &amp; = + $ , / ? % # [ ]</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">конец&nbsp;примечание</span></p>
<ol style="list-style-type:upper-roman">
<li value="1" class="p_Normal">On each node, enable the necessary plugins: </li></ol>
<li value="1" class="p_Normal">На каждом узле включите необходимые плагины: </li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo&nbsp;rabbitmq-plugins&nbsp;enable&nbsp;\</span><br />
<span class="f_CodeExample">rabbitmq_management</span></p>
<ol style="list-style-type:upper-roman" start="2">
<li value="2" class="p_Normal">Create <span style="font-weight: bold;">vhost</span> nd give the user access to it, executing commands on the first node <span style="font-weight: bold;">rabbitmq-server1.your_domain</span>:</li></ol>
<li value="2" class="p_Normal">Cоздайте <span style="font-weight: bold;">vhost</span> и дайте пользователю доступ к нему, выполнив команды на первом узле <span style="font-weight: bold;">rabbitmq-server1.your_domain</span>:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo&nbsp;rabbitmqctl&nbsp;add_vhost&nbsp;elma365vhost</span><br />
<span class="f_CodeExample">sudo&nbsp;rabbitmqctl&nbsp;add_user&nbsp;elma365user&nbsp;SecretPassword</span><br />
<span class="f_CodeExample">sudo&nbsp;rabbitmqctl&nbsp;set_permissions&nbsp;-p&nbsp;elma365vhost&nbsp;elma365user&nbsp;&quot;.*&quot;&nbsp;&quot;.*&quot;&nbsp;&quot;.*&quot;</span><br />
<span class="f_CodeExample">sudo&nbsp;rabbitmqctl&nbsp;set_user_tags&nbsp;elma365user&nbsp;administrator</span></p>
<ol style="list-style-type:upper-roman" start="3">
<li value="3" class="p_Normal">Create a policy that allows mirroring queues for all nodes in the cluster, executing the command on the first node <span style="font-weight: bold;">rabbitmq-server1.your_domain</span>:</li></ol>
<li value="3" class="p_Normal">Создайте политику, которая позволяет зеркалировать очереди для всех узлов в кластере, выполнив команду на первом узле <span style="font-weight: bold;">rabbitmq-server1.your_domain</span>:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo&nbsp;rabbitmqctl&nbsp;set_policy&nbsp;-p&nbsp;'elma365vhost'&nbsp;MirrorAllQueues&nbsp;&quot;.*&quot;&nbsp;'{&quot;ha-mode&quot;:&quot;all&quot;}'</span></p>
<p class="p_Normal">If the High Availability Mode policy is not supported, use the Quorum policy:</p>
<p class="p_Normal">Если отсутствует поддержка политики High Availability Mode, используйте политику Quorum:</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">rabbitmqctl&nbsp;set_policy&nbsp;p&nbsp;'elma365vhost'&nbsp;QuorumDefault&nbsp;“^.*”&nbsp;{“queue-type”:“quorum”}&nbsp;--priority&nbsp;0&nbsp;--apply-to&nbsp;queues</span></p>
<p class="p_Normal">To &nbsp;view the configured policies, use the command:</p>
<p class="p_Normal">Чтобы посмотреть настроенные политики, используйте команду:</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo&nbsp;rabbitmqctl&nbsp;list_policies&nbsp;--vhost&nbsp;elma365vhost</span></p>
<p class="p_Normal"><a class="dropdown-toggle" style="font-style: normal; font-weight: normal; color: #000000; background-color: transparent; text-decoration: none;" href="javascript:HMToggle('toggle','TOGGLE0186A1')">Enabling TLS/SSL in RabbitMQ</a></p>
<div id="TOGGLE0186A1" class="dropdown-toggle-body" style="text-align: left; text-indent: 0; line-height: 1.80; padding: 0 0 0 0; margin: 0 0 0 0;"><table style="border:none; border-spacing:0;">
<p class="p_Normal"><a class="dropdown-toggle" style="font-style: normal; font-weight: normal; color: #000000; background-color: transparent; text-decoration: none;" href="javascript:HMToggle('toggle','TOGGLE0186A1')">Настройка включения TLS/SSL в RabbitMQ</a></p>
<div id="TOGGLE0186A1" class="dropdown-toggle-body" style="text-align: left; text-indent: 0; padding: 0 0 0 0; margin: 0 0 0 0;"><table style="border:none; border-spacing:0;">
<tr>
<td style="vertical-align:top; padding:0; border:none"><p class="p_Normal">To enable TLS/SSL support in RabbitMQ, you need to edit the configuration file <span style="font-weight: bold;">/etc/rabbitmq/rabbitmq.conf</span>:</p>
<td style="vertical-align:top; padding:0; border:none"><p class="p_Normal">Для включения поддержки TLS/SSL в RabbitMQ необходимо в файл конфигурации <span style="font-weight: bold;">/etc/rabbitmq/rabbitmq.conf</span>:</p>
<ol style="list-style-type:decimal">
<li value="1" class="p_Normal">Add SSL configuration to the<span style="font-weight: bold;"> rabbit</span> (port 5671) and <span style="font-weight: bold;">management</span> (port 15671) blocks.</li></ol>
<li value="1" class="p_Normal">Добавить конфигурацию SSL в блоки<span style="font-weight: bold;"> rabbit</span> (port 5671) и <span style="font-weight: bold;">management</span> (port 15671).</li></ol>
<ol style="list-style-type:decimal" start="2">
<li value="2" class="p_Normal">In the <span style="font-weight: bold;">ssl_options.certfile and management.ssl.certfile</span> parameters, specify the path to the server certificate file.</li></ol>
<li value="2" class="p_Normal">В параметрах <span style="font-weight: bold;">ssl_options.certfile </span>и<span style="font-weight: bold;"> management.ssl.certfile</span> указать путь до файла сертификата сервера.</li></ol>
<ol style="list-style-type:decimal" start="3">
<li value="3" class="p_Normal">In the <span style="font-weight: bold;">ssl_options.keyfile </span>и<span style="font-weight: bold;"> management.ssl.keyfile</span> parameters, specify the path to the private key file.</li></ol>
<li value="3" class="p_Normal">В параметрах <span style="font-weight: bold;">ssl_options.keyfile </span>и<span style="font-weight: bold;"> management.ssl.keyfile</span> указать путь до файла закрытого ключа.</li></ol>
<ol style="list-style-type:decimal" start="4">
<li value="4" class="p_Normal">In the <span style="font-weight: bold;">ssl_options.cacertfile </span>и<span style="font-weight: bold;"> management.ssl.cacertfile</span> parameters, specify the path to the root CA file.</li></ol>
<li value="4" class="p_Normal">В параметрах <span style="font-weight: bold;">ssl_options.cacertfile </span>и<span style="font-weight: bold;"> management.ssl.cacertfile</span> указать путь до файла корневого CA.</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">listeners.tcp&nbsp;=&nbsp;none</span><br />
<span class="f_CodeExample">listeners.ssl.</span><span class="f_CodeExample" style="font-weight: bold;">default</span><span class="f_CodeExample">&nbsp;=&nbsp;5671</span><br />
<span class="f_CodeExample">ssl_options.cacertfile&nbsp;=&nbsp;/path/to/ca_certificate.pem</span><br />
@ -239,21 +243,21 @@
<span class="f_CodeExample">management.ssl.certfile&nbsp;=&nbsp;/path/to/server_certificate.pem</span><br />
<span class="f_CodeExample">management.ssl.keyfile&nbsp;=&nbsp;/path/to/server_key.pem</span></p>
<ol style="list-style-type:decimal" start="5">
<li value="5" class="p_Normal">Restart the RabbitMQ service:</li></ol>
<li value="5" class="p_Normal">Перезапустить сервис RabbitMQ:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo&nbsp;systemctl&nbsp;restart&nbsp;rabbitmq-server</span></p>
<p class="p_Normal">For more details on configuring TLS/SSL in RabbitMQ, refer to the<a href="https://www.rabbitmq.com/ssl.html" target="_blank" class="weblink"> official RabbitMQ documentation</a>.<br />
<p class="p_Normal">Подробнее о настройке TLS/SSL в RabbitMQ читайте в <a href="https://www.rabbitmq.com/ssl.html" target="_blank" class="weblink">официальной документации RabbitMQ</a>.<br />
&nbsp;<br />
For enabling TLS/SSL between RabbitMQ nodes &quot;Securing Cluster (Inter-node),&quot; you need to:</p>
Для включения TLS/SSL между нодами RabbitMQ «Securing Cluster (Inter-node)» необходимо:</p>
<ol style="list-style-type:decimal">
<li value="1" class="p_Normal">Combine the public and private keys of the node into one file, for example, in<span style="font-weight: bold;"> </span><code><b>combined_keys.pem</b></code>:</li></ol>
<li value="1" class="p_Normal">Объединить в один файл открытый и закрытый ключи узла, например, в<span style="font-weight: bold;"> </span><code><b>combined_keys.pem</b></code>:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">cat&nbsp;server_certificate.pem&nbsp;server_key.pem&nbsp;&gt;&nbsp;combined_keys.pem</span></p>
<ol style="list-style-type:decimal" start="2">
<li value="2" class="p_CodeExample" style="white-space: normal; page-break-inside: auto;">Extract the path to the Erlang TLS library and export it to the environment variable <code><b>ERL_SSL_PATH</b></code> в файл <code><b>/etc/rabbitmq/rabbitmq-env.conf</b></code>:</li></ol>
<li value="2" class="p_CodeExample" style="white-space: normal; page-break-inside: auto;">Вывести путь к библиотеке Erlang TLS и экспортировать его в переменную окружения <code><b>ERL_SSL_PATH</b></code> в файл <code><b>/etc/rabbitmq/rabbitmq-env.conf</b></code>:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">erl&nbsp;-noinput&nbsp;-eval&nbsp;'io:format(&quot;ERL_SSL_PATH=~s~n&quot;,&nbsp;[filename:dirname(code:which(inet_tls_dist))])'&nbsp;-s&nbsp;init&nbsp;stop&nbsp;&gt;&nbsp;/tmp/ssl-path.txt</span><br />
<span class="f_CodeExample">cat&nbsp;/tmp/ssl-path.txt&nbsp;/etc/rabbitmq/rabbitmq-env.conf&nbsp;&gt;&nbsp;/tmp/</span><span class="f_CodeExample" style="font-weight: bold;">new</span><span class="f_CodeExample">-rabbitmq-env.conf</span><br />
<span class="f_CodeExample">mv&nbsp;-f&nbsp;/tmp/</span><span class="f_CodeExample" style="font-weight: bold;">new</span><span class="f_CodeExample">-rabbitmq-env.conf&nbsp;/etc/rabbitmq/rabbitmq-env.conf</span></p>
<ol style="list-style-type:decimal" start="3">
<li value="3" class="p_CodeExample" style="white-space: normal; page-break-inside: auto;">In the <code><b>/etc/rabbitmq/rabbitmq-env.conf</b></code> file, add parameters for the environment variables <code><b>SERVER_ADDITIONAL_ERL_ARGS</b></code> and <code><b>RABBITMQ_CTL_ERL_ARGS</b></code>:</li></ol>
<li value="3" class="p_CodeExample" style="white-space: normal; page-break-inside: auto;">В файл <code><b>/etc/rabbitmq/rabbitmq-env.conf</b></code> добавьте параметры для переменных окружения <code><b>SERVER_ADDITIONAL_ERL_ARGS</b></code> и <code><b>RABBITMQ_CTL_ERL_ARGS</b></code>:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">SERVER_ADDITIONAL_ERL_ARGS=&quot;-pa&nbsp;$ERL_SSL_PATH&nbsp;\</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;-proto_dist&nbsp;inet_tls&nbsp;\</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;-ssl_dist_opt&nbsp;server_certfile&nbsp;/path/to/combined_keys.pem&nbsp;\</span><br />
@ -263,19 +267,19 @@ For enabling TLS/SSL between RabbitMQ nodes &quot;Securing Cluster (Inter-node),
<span class="f_CodeExample">&nbsp;&nbsp;-ssl_dist_opt&nbsp;server_certfile&nbsp;/path/to/combined_keys.pem&nbsp;\</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;-ssl_dist_opt&nbsp;server_secure_renegotiate&nbsp;true&nbsp;client_secure_renegotiate&nbsp;true&quot;</span></p>
<ol style="list-style-type:decimal" start="4">
<li value="4" class="p_Normal"> Restart the RabbitMQ service on each node:</li></ol>
<li value="4" class="p_Normal"> Перезапустить сервис RabbitMQ на каждой ноде:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo&nbsp;systemctl&nbsp;restart&nbsp;rabbitmq-server</span></p>
<p class="p_Normal">For more details on configuring TLS/SSL between RabbitMQ nodes, refer to the <a href="https://www.rabbitmq.com/clustering-ssl.html" target="_blank" class="weblink">official RabbitMQ documentation</a>.</p>
<p class="p_Normal">Подробнее о настройке TLS/SSL между нодами RabbitMQ читайте в <a href="https://www.rabbitmq.com/clustering-ssl.html" target="_blank" class="weblink">официальной документации RabbitMQ</a>.</p>
</td>
</tr>
</table>
</div>
<h2 class="p_Heading2"><a id="config-haproxy" class="hmanchor"></a><span class="f_Heading2">Step 5: Configure HAProxy (rabbitmq block)</span></h2>
<p class="p_Normal">Load balancing between RabbitMQ cluster nodes will be performed using HAProxy. Configure it according to <a href="haproxy-rabbitmq.html" class="topiclink">Configure HAProxy for RabbitMQ</a>.</p>
<h2 class="p_Heading2"><a id="connect-to-rabbitmq" class="hmanchor"></a><span class="f_Heading2">Step 6: Connect to RabbitMQ</span></h2>
<p class="p_Normal">Connection string to connect to the RabbitMQ cluster (via HAProxy):</p>
<h2 class="p_Heading2"><a id="config-haproxy" class="hmanchor"></a><span class="f_Heading2">Шаг 5. Конфигурация HAProxy (блок rabbitmq)</span></h2>
<p class="p_Normal">Балансировку нагрузки между нодами кластера RabbitMQ осуществим с помощью HAProxy, произведем настройку по статье <a href="haproxy-rabbitmq.html" class="topiclink">«Конфигурация HAProxy для RabbitMQ»</a>.</p>
<h2 class="p_Heading2"><a id="connect-to-rabbitmq" class="hmanchor"></a><span class="f_Heading2">Шаг 6. Подключение к RabbitMQ</span></h2>
<p class="p_Normal">Строка для подключения к кластеру RabbitMQ (через HAProxy):</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">amqp</span><span class="f_CodeExample">://elma365user:SecretPassword@haproxy-server.your_domain:5672/elma365vhost</span></p>
<p class="p_Normal">Connection string to connect to the RabbitMQ cluster with TLS/SSL (via HAProxy with TLS/SSL):</p>
<p class="p_Normal">Строка для подключения к кластеру RabbitMQ c TLS/SSL (через HAProxy c TLS/SSL):</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">amqps://elma365user:SecretPassword@haproxy-server.your_domain:5671/elma365vhost</span></p>
<div class="bottom-nav">
@ -293,7 +297,7 @@ For enabling TLS/SSL between RabbitMQ nodes &quot;Securing Cluster (Inter-node),
</div>
<!-- добавляет на страницу строку блок Была ли статья полезной? -->
<div class="feedback" id="feedback"><div class="feedback-help"><span><b>Was this helpful?</b></span><form action="" method="POST" class="feedback-form" id="feedback-form"><div class="feedback__popup feedback__popup-response" id="feedback__popup_thx" style="display: none;">Thanks for your feedback!</div><div class="feedback__popup" id="feedback__popup_why" style="display: none;"><div class="feedback__popup-header">Please specify why:</div><input type="radio" name="category" id="bad_recommendation" value="bad_recommendation"><label for="bad_recommendation">Recommendations did not help me</label><input type="radio" name="category" id="difficult_text" value="difficult_text"><label for="difficult_text">Article is hard to understand</label><input type="radio" name="category" id="no_answer" value="no_answer"><label for="no_answer">Didn`t answer my question</label><input type="radio" name="category" id="bad_header" value="bad_header"><label for="bad_header">Content does not match the topic</label><input type="radio" name="category" id="other_reason" value="other_reason"><label for="other_reason">Other</label></div><div class="feedback__popup" id="feedback__popup-other" style="display: none;"><div class="feedback__popup-header">How we can improve it?</div><textarea class="feedback__textarea" name="other" id=""></textarea><input type="submit" class="feedback__other-btn" value="Submit"></div><div class="feedback-form__btn-group"><input type="radio" name="useful" id="feedback__useful_yes" value="true"><label for="feedback__useful_yes"><img src="like.svg" class="small-img" alt="like"><spanclass="feedback-form__btn-group_yes-btn">Yes</spanclass="feedback-form__btn-group_yes-btn"></label><input type="radio" name="useful" id="feedback__useful_no" value="false"><label for="feedback__useful_no"><img src="dislike.svg" class="small-img" alt="dislike"><spanclass="feedback-form__btn-group_no-btn">No</spanclass="feedback-form__btn-group_no-btn"></label></div><select name="category"><option disabled="">Please specify why</option><option value="bad_recommendation" selected="">Recommendations did not help me</option><option value="difficult_text">Article is hard to understand</option><option value="no_answer">Didn`t answer my question</option><option value="bad_header">Content does not match the topic</option><option value="other_reason">Other</option></select><input type="submit"></form></div><div class="found_typo"><p style="margin: 0px; margin-top: 16px !important;"><span><b>Found a typo?</b></span> Select it and press <i>Ctrl+Enter</i> to send us feedback</p></div></div>
<div class="feedback-wrap"><div class="feedback" id="feedback"><span><b>Была ли статья полезной?</b></span><form action="" method="POST" class="feedback-form" id="feedback-form"><div class="feedback__popup feedback__popup-response" id="feedback__popup_thx">Спасибо за ваш отзыв!</div><div id="feedback-success-popup"><div class="wrap"><button type="button" class="feedback-popup-close">×</button><svg width="44" height="44" viewBox="0 0 44 44" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0_212_2187)"><path d="M22 0.6875C10.2294 0.6875 0.6875 10.2294 0.6875 22C0.6875 33.7706 10.2294 43.3125 22 43.3125C33.7706 43.3125 43.3125 33.7706 43.3125 22C43.3125 10.2294 33.7706 0.6875 22 0.6875ZM22 40.5625C11.8023 40.5625 3.4375 32.3078 3.4375 22C3.4375 11.8024 11.6922 3.4375 22 3.4375C32.1977 3.4375 40.5625 11.6922 40.5625 22C40.5625 32.1976 32.3078 40.5625 22 40.5625ZM34.1713 16.933L18.6613 32.3186C18.257 32.7197 17.604 32.7171 17.203 32.3128L9.82283 24.873C9.42176 24.4686 9.42434 23.8157 9.82867 23.4146L10.5609 22.6884C10.9652 22.2873 11.6181 22.2899 12.0192 22.6942L17.9468 28.6697L31.9926 14.7366C32.3969 14.3356 33.0498 14.3382 33.4509 14.7425L34.1772 15.4747C34.5783 15.879 34.5757 16.532 34.1713 16.933Z" fill="#27AE60"></path></g><defs><clipPath id="clip0_212_2187"><rect width="44" height="44" fill="white"></rect></clipPath></defs></svg><p>Ваш отзыв успешно отправлен!</p><span>Спасибо за обратную связь.</span></div></div><div class="feedback__popup" id="feedback__popup_why"><button type="button" class="feedback-popup-close">×</button><div class="feedback__popup-header">Уточните, почему:</div><input type="radio" name="category" id="bad_recommendation" value="bad_recommendation"><label for="bad_recommendation">Рекомендации не помогли</label><input type="radio" name="category" id="difficult_text" value="difficult_text"><label for="difficult_text">Текст трудно понять</label><input type="radio" name="category" id="no_answer" value="no_answer"><label for="no_answer">Нет ответа на мой вопрос</label><input type="radio" name="category" id="bad_header" value="bad_header"><label for="bad_header">Содержание статьи не соответствует заголовку</label><input type="radio" name="category" id="other_reason" value="other_reason"><label for="other_reason">Другая причина</label></div><div class="feedback__popup" id="feedback__popup-other"><button type="button" class="feedback-popup-close">×</button> <div class="feedback__popup-header">Расскажите, что вам не понравилось в статье:</div><textarea class="feedback__textarea" name="other" id=""></textarea><input type="submit" class="feedback__other-btn" value="Отправить"></div><div class="feedback-form__btn-group"><input type="radio" name="useful" id="feedback__useful_yes" value="true"><label for="feedback__useful_yes"><img src="like.svg"/><span class="feedback-form__btn-group_yes-btn">Да</span></label><input type="radio" name="useful" id="feedback__useful_no" value="false"><label for="feedback__useful_no"><img src="dislike.svg"/><span class="feedback-form__btn-group_no-btn">Нет</span></label></div><select name="category"><option disabled>Выберите вариант</option><option value="bad_recommendation" selected>Рекомендации не помогли</option><option value="difficult_text">Текст трудно понять</option><option value="no_answer">Нет ответа на мой вопрос</option><option value="bad_header">Содержание статьи не соответствует заголовку</option><option value="other_reason">Другая причина</option></select><input type="submit"></form></div></div>
</section>
</div>
@ -301,7 +305,7 @@ For enabling TLS/SSL between RabbitMQ nodes &quot;Securing Cluster (Inter-node),
<input type="checkbox" />
<div class="article__arrow"></div>
<div class="table-of-contents elma365-right" id="toc2Content">
<h3 class="h3-toc">In this topic</h3>
<h3 class="h3-toc">В этой статье</h3>
<nav id="toc2"></nav>
</div>
</aside>
@ -312,30 +316,63 @@ For enabling TLS/SSL between RabbitMQ nodes &quot;Securing Cluster (Inter-node),
<div class="footer-container">
<div class="footer-mobile">
<ul class="footer-mobile__list"><li><a href="https://brix365.com/en/" target="_blank">BRIX</a></li><li><a href="https://tssdk.brix365.com/en/latest/" target="_blank">SDK</a></li><li><a href="https://api.brix365.com/en/" target="_blank">API</a></li></ul><ul class="footer-mobile__list"><li><a href="https://brix365.com/en/help/platform/get-trial.html">Platform</a></li><li><a href="https://brix365.com/en/help/ecm/ecm-functions.html">ECM</a></li><li><a href="https://brix365.com/en/help/service/service-functions.html">Service</a></li><li><a href="https://brix365.com/en/help/projects/projects-functions.html">Projects</a></li></ul>
<ul class="footer-mobile__list"><li><a href="https://api.elma365.com/ru/" target="_blank">API</a></li><li><a href="https://tssdk.elma365.com/" target="_blank">TS SDK</a></li><li><a href="https://community.elma365.com/" target="_blank">Community</a></li><li><a href="https://elma-academy.com/ru/elma365" target="_blank">Академия</a></li></ul><ul class="footer-mobile__list"><li><a href="https://elma365.com/ru/help/platform/get-trial.html">Платформа</a></li><li><a href="https://elma365.com/ru/help/ecm/ecm-functions.html">ECM</a></li><li><a href="https://elma365.com/ru/help/service/service-functions.html">Service</a></li><li><a href="https://elma365.com/ru/help/projects/projects-functions.html">Проекты</a></li></ul>
</div>
<div class="footer-wrap">
<div><span class="mobile-question-popup">Send feedback</span><form method="POST" action class="question__popup question-xs" id="question__popup"><div class="question-wrap"><span class="close"></span><span class="title">Ask a question</span><label for="help_question" style="display: none;"></label><textarea name="help_question" id="help_question"></textarea><input type="submit" value="Send"></div></form><div class="hidden fade-in question-success-xs">Sent</div></div>
<div class="footer-flex-b">
<span class="footer-copy">&copy; 2025 BRIX</span>
<ul class="footer-list">
<li class="footer-item">
<a href="#" class="arrow-top" style="display: block;"></a>
</li>
</ul>
<div class="container">
<div class="footer-wrap">
<div><span class="mobile-question-popup">Отправить фидбэк</span><form method="POST" action class="question__popup question-xs" id="question__popup"><div class="question-wrap"><span class="close"></span><span class="title">Задать вопрос</span><label for="help_question" style="display: none;"></label><textarea name="help_question" id="help_question"></textarea><input type="submit" value="Отправить"></div></form><div class="hidden fade-in question-success-xs">Ваш фидбэк отправлен.</div></div>
<div class="footer-flex-b">
<div class="footer-top">
<span class="footer-copy">&copy; 2025
ELMA365
</span>
<a href="https://navigator.sk.ru/orn/1122971" target="_blank">
<img src="sk-resident.svg" alt="sk icon" class="footer-img" width="117" height="34">
</a>
</div>
<div class="footer-line">
<div class="footer-line-copy">
<span class="footer-copy">&copy; 2025
ELMA365
</span>
</div>
<ul class="footer-list">
<li class="footer-item"><a href="https://elma365.com/ru/" target="_blank" class="footer-link" style="color: #0D4A75;"><img src="browse.svg" alt="browse icon" class="footer-img">elma365.com</a></li><li class="footer-item"><a href="https://www.youtube.com/user/ELMABPM" target="_blank" class="footer-link"><img src="yt.svg" alt="youtube icon" class="footer-img"></a></li><li class="footer-item"><a href="https://vk.com/elma_bpm" target="_blank" class="footer-link"><img src="vk.svg" alt="vk icon" class="footer-img"></a></li><li class="footer-item"><a href="https://t.me/elmaday" target="_blank" class="footer-link"><img src="tg.svg" alt="telegram icon" class="footer-img"></a></li><li class="footer-item"><a href="https://dzen.ru/elma" target="_blank" class="footer-link"><img src="dzen.svg" alt="dzen icon" class="footer-img"></a></li>
<li class="footer-item">
<a href="https://navigator.sk.ru/orn/1122971" target="_blank">
<img src="sk-resident.svg" alt="sk icon" class="footer-img" width="117" height="34">
</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<a href="#" class="arrow-top"></a>
</div>
</footer>
<!-- <script type="text/javascript" src="jquery1.min.js"></script>-->
<iframe name="hmnavigation" style="display:none!important"></iframe>
<script src="./jquery-ui.js"></script>
<!--<script src="./jquery-ui.js"></script> -->
<script src="./jquery-ui.min.js"></script>
<!--script src="//cdn.jsdelivr.net/npm/featherlight@1.7.14/release/featherlight.min.js" type="text/javascript" charset="utf-8"></script-->
<script src="./jquery.tocify.min.js"></script>
<script src="./TypoReporter.min.js"></script>