Содержание
Общие условия
Описание проблем при интеграции развернутого в Docker Корпоративного Сервера 2024 и Р7 команды (1.10.3 нативный инсталлятор).
Разворачивание КС 2024 производилось с использованием следующей инструкции:
Установка Корпоративный сервер 2024 через инсталлятор в docker-compose (Расширенная установка).
Подробное описание проблем и их решение
1. Порт RabbitMQ (5672) не проброшен наружу из Docker. Анализ файла /opt/r7-office-docker/template.yaml
Симптомы:
Приложение не может подключиться к RabbitMQ, хотя контейнер запущен.
Сообщение в логах Р7 Команды, либо в инсталляторе при настройке конфигурации с интеграцией к Корпоративному серверу 2024:
connect to 172.16.16.16 port 5672 (tcp) failed: Connection refused
В логах addressbook появляется следующее сообщение:
java.net.ConnectException: Connection refused (Connection refused)
Порт 5672 не открыт на хосте:
root@cs24srv1:/opt/r7-office-docker/configs/api# docker ps -a | grep "5672" faa4ea4082a8 downloads.r7-office.ru:9011/r7office/cs/cddisk-rabbitmq:2.0.2024.14752 "docker-entrypoint.s…" 2 days ago Up 5 seconds 4369/tcp, 5671/tcp, 15691-15692/tcp, 25672/tcp, 5672/tcp cs-rabbitmq ddfe0ba123af downloads.r7-office.ru:9011/r7office/ds/ds-rabbitmq:2024.3.2.622 "docker-entrypoint.s…" 2 days ago Up 2 days 4369/tcp, 5671-5672/tcp, 15691-15692/tcp, 25672/tcp ds-rabbitmq root@cs24srv1:/opt/r7-office-docker/configs/api# ss -tulnp | grep "5672"
Причина:
Некорректно конфигурируется шаблон для docker-compose файла.
Подтверждение:
Сегмент конфигурационного файла для cs-rabbitmq из /opt/r7-office-docker/template.yaml:
cs-rabbitmq:
container_name: cs-rabbitmq
environment:
RABBITMQ_DEFAULT_PASS: guest
RABBITMQ_DEFAULT_USER: guest
RABBITMQ_NODE_PORT: '5672'
r7_team_rabbit_pass: team
hostname: cs-rabbit
image: downloads.r7-office.ru:9011/r7office/cs/cddisk-rabbitmq:2.0.2024.14752
networks:
- net-cs
restart: unless-stoppedРешение:
Авторизуйтесь с повышением привилегий (su - или sudo -i) на сервере, где установлен Корпоративный сервер 2024.
Откройте конфигурационный файл:
nano /opt/r7-office-docker/template.yaml
Отредактируйте секцию, отвечающую за конфигурацию cs-rabbitmq, добавьте секцию ports.
cs-rabbitmq:
container_name: cs-rabbitmq
environment:
RABBITMQ_DEFAULT_PASS: guest
RABBITMQ_DEFAULT_USER: guest
RABBITMQ_NODE_PORT: '5672'
r7_team_rabbit_pass: team
hostname: cs-rabbit
image: downloads.r7-office.ru:9011/r7office/cs/cddisk-rabbitmq:2.0.2024.14752
networks:
- net-cs
restart: unless-stopped
ports:
- '5672:5672'Сохраните файл.
Выполните повторную установку контейнеров вручную, используя команду docker-compose и новый исправленный файл template.yaml:
cd /opt/r7-office-docker ./runtime/docker-plugins/docker-compose -f template.yaml up --force-recreate -d -V --remove-orphans
2. Для OAuth2.0 КС24 использует файл /opt/r7-office-docker/configs/ssl/domain.pfx Данный файл не формируется автоматически
Симптомы:
Ошибка авторизации: invalid_token_response.
Пример ошибки:
Или:
Причина:
Отсутствует или некорректно сформирован файл /opt/r7-office/Api/domain.pfx.
Подтверждение:
1. Проверьте файл на хостовой машине
Убедитесь, что файл domain.pfx создан по инструкции и находится в нужной директории:
ls /opt/r7-office-docker/configs/ssl/domain.pfx
2. Проверьте наличие файла внутри контейнера
Выполните команду, чтобы убедиться, что файл доступен и внутри контейнера:
docker exec -it cs-api bash -c 'ls -l /opt/r7-office/Api/domain.pfx'
Если вы видите ошибку вида:
ls: cannot access '/opt/r7-office/Api/domain.pfx': No such file or directory
Это значит, что файл либо отсутствует, либо неправильно смонтирован.
Если вы не создавали свой собственный domain.pfx, то система может использовать стандартный (дефолтный) файл, как на хосте, так и в контейнере.
⚠ Важно: Использование стандартного файла не рекомендуется. Замените его на собственный, правильно сформированный файл по инструкции.
Решение:
На данный момент необходимо использовать SSL-сертификат с алгоритмом RSA.
Сертификаты типа ECDSA не поддерживаются и вызовут ошибку синхронизации между Корпоративным сервером и Сервером управления Р7 Команда.
1. При получении сертификата (Let’s Encrypt):
При создании или перевыпуске сертификата с помощью certbot используйте флаг --key-type rsa.
sudo certbot certonly ... --key-type rsa
2. Перед созданием PFX, проверьте ваш ключ:
openssl pkey -in private-key.pem -text -noout
Вывод должен содержать строку RSA Private-Key:. Если ее нет, перевыпустите сертификат.
1. На хостовой машине перейдите в каталог с сертификатами и ключами:
cd /opt/r7-office-docker/configs/ssl/
2. Откройте ранее подготовленные файлы для работы SSL.
Это файл с сертификатом для работы HTTPS, который включает в себя сертификат для WEB ресурса и промежуточный сертификат, если такой выдает удостоверяющий центр, и файл с закрытым ключом.
В данном примере это fullchainvolav.crt и volav.key
root@cs24srv1:/opt/r7-office-docker/configs/ssl# cat fullchainvolav.crt -----BEGIN CERTIFICATE----- MIIE9zCCA9+gAwIBAgISBnyA7N0Nw6cjJWYnJLCfjU9NMA0GCSqGSIb3DQEBCwUA MDMxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQwwCgYDVQQD EwNSMTAwHhcNMjUwNTI3MTE1MzI1WhcNMjUwODI1MTE1MzI0WjATMREwDwYDVQQD Ewh2b2xhdi5ydTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANGqQfyt deDTtsVOdHFdSkGbFU1YB0/MDpCui6rHALCitmwpgomwxTElO9Q5yDeltRjWhGdN /WzVqrhpZnBiR+doSOMfhfob2HFEmbh88Ut9csnUC9uRYoyGBJ4KRZggqu6//XMr oJWzAjnSk0qaBaz0MWyZAVgNO4IU/moava78zj1lHwzn8EQKGBgV7ZY9Unb1e9T/ GVZyfkoI0jCFoBkeEx15VkDTkRRwPj71MaCj3SFcspunT2CHL/SYLkY0JziujC1F 0AqM/o9w1bY5HJ2By84N/vzBpmtRp82YMdY22QZCmuBOSlbvsbLx1+CNS86rz4uS +lhit4AnixB1pasCAwEAAaOCAiMwggIfMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUE FjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU n2AiU+Y1GEhWNirLeoylL16g/74wHwYDVR0jBBgwFoAUu7zDR6XkvKnGw6RyDBCN ojXhyOgwMwYIKwYBBQUHAQEEJzAlMCMGCCsGAQUFBzAChhdodHRwOi8vcjEwLmku bGVuY3Iub3JnLzAfBgNVHREEGDAWggoqLnZvbGF2LnJ1ggh2b2xhdi5ydTATBgNV HSAEDDAKMAgGBmeBDAECATAuBgNVHR8EJzAlMCOgIaAfhh1odHRwOi8vcjEwLmMu bGVuY3Iub3JnLzc4LmNybDCCAQMGCisGAQQB1nkCBAIEgfQEgfEA7wB2AN3cyjSV 1+EWBeeVMvrHn/g9HFDf2wA6FBJ2Ciysu8gqAAABlxHMrtkAAAQDAEcwRQIgY58W /rmlkimvcwZlwuL6ZhplmHJaiM1a9DzDRwUVlVcCIQD+sjp1vb90cNPlZFzpCT9u vxYwx6hOORIESS09LOotQwB1AA3h8jAr0w3BQGISCepVLvxHdHyx1+kw7w5CHrR+ Tqo0AAABlxHMtnIAAAQDAEYwRAIgDyIZvsBp/oOqWtaCCefX8ohDXsm5PBSHSdoA HXWpxRoCIE35s5m/PTxDapffr7mK3osgIx4gRwT1BMviv1A3q0AUMA0GCSqGSIb3 DQEBCwUAA4IBAQDIQ4gI6YpFPR20n+sUJdKyvvulN+deVnduQRFFSHh1fl4Y9YJB 4Db0guPs84lVLvnBgEKCNy2guZwC0MFED3i+uvNJ4hgWyiwyY0sBzO2xIUFthuZV heh+HtCOoDw+a23ZmVhFZuA1XriLiFnduZHCR4RoGqVPHaCoUMEc+WdQH8gMh+Tq 7ayoOkhsFoSEwipoo0leaeWiaG4WMKWkVfcIzyW1JXy6FE46F1L5sdcWGZvxUPJS AUralgdpivvNyb3NAFVn+8PZsNu3197AP36xJf1eZ+k4p0rcUQNMOEN/Nmg4c+5d tUMKEnU1bW5axgZ09kBcQDh/VtxICAfuw6G5 -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIFBTCCAu2gAwIBAgIQS6hSk/eaL6JzBkuoBI110DANBgkqhkiG9w0BAQsFADBP MQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFy Y2hhR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBYMTAeFw0yNDAzMTMwMDAwMDBa Fw0yNzAzMTIyMzU5NTlaMDMxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBF bmNyeXB0MQwwCgYDVQQDEwNSMTAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK AoIBAQDPV+XmxFQS7bRH/sknWHZGUCiMHT6I3wWd1bUYKb3dtVq/+vbOo76vACFL YlpaPAEvxVgD9on/jhFD68G14BQHlo9vH9fnuoE5CXVlt8KvGFs3Jijno/QHK20a /6tYvJWuQP/py1fEtVt/eA0YYbwX51TGu0mRzW4Y0YCF7qZlNrx06rxQTOr8IfM4 FpOUurDTazgGzRYSespSdcitdrLCnF2YRVxvYXvGLe48E1KGAdlX5jgc3421H5KR mudKHMxFqHJV8LDmowfs/acbZp4/SItxhHFYyTr6717yW0QrPHTnj7JHwQdqzZq3 DZb3EoEmUVQK7GH29/Xi8orIlQ2NAgMBAAGjgfgwgfUwDgYDVR0PAQH/BAQDAgGG MB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATASBgNVHRMBAf8ECDAGAQH/ AgEAMB0GA1UdDgQWBBS7vMNHpeS8qcbDpHIMEI2iNeHI6DAfBgNVHSMEGDAWgBR5 tFnme7bl5AFzgAiIyBpY9umbbjAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAKG Fmh0dHA6Ly94MS5pLmxlbmNyLm9yZy8wEwYDVR0gBAwwCjAIBgZngQwBAgEwJwYD VR0fBCAwHjAcoBqgGIYWaHR0cDovL3gxLmMubGVuY3Iub3JnLzANBgkqhkiG9w0B AQsFAAOCAgEAkrHnQTfreZ2B5s3iJeE6IOmQRJWjgVzPw139vaBw1bGWKCIL0vIo zwzn1OZDjCQiHcFCktEJr59L9MhwTyAWsVrdAfYf+B9haxQnsHKNY67u4s5Lzzfd u6PUzeetUK29v+PsPmI2cJkxp+iN3epi4hKu9ZzUPSwMqtCceb7qPVxEbpYxY1p9 1n5PJKBLBX9eb9LU6l8zSxPWV7bK3lG4XaMJgnT9x3ies7msFtpKK5bDtotij/l0 GaKeA97pb5uwD9KgWvaFXMIEt8jVTjLEvwRdvCn294GPDF08U8lAkIv7tghluaQh 1QnlE4SEN4LOECj8dsIGJXpGUk3aU3KkJz9icKy+aUgA+2cP21uh6NcDIS3XyfaZ QjmDQ993ChII8SXWupQZVBiIpcWO4RqZk3lr7Bz5MUCwzDIA359e57SSq5CCkY0N 4B6Vulk7LktfwrdGNVI5BsC9qqxSwSKgRJeZ9wygIaehbHFHFhcBaMDKpiZlBHyz rsnnlFXCb5s8HKn5LsUgGvB24L7sGNZP2CX7dhHov+YhD+jozLW2p9W4959Bz2Ei RmqDtmiXLnzqTpXbI+suyCsohKRg6Un0RC47+cpiVwHiXZAW+cn8eiNIjqbVgXLx KPpdzvvtTnOPlC7SQZSYmdunr3Bf9b77AiC/ZidstK36dRILKz7OA54=
2. Создайте файл domain.pfx с пустым паролем. Для этого сформируйте и выполните команду вида:
openssl pkcs12 -export \ -out domain.pfx \ -inkey volav.key \ -in fullchainvolav.crt \ -password pass:
Для проверки можно воспользоваться командой:
openssl pkcs12 -info -in domain.pfx -passin pass:
Команда в своем результате может не отобразить закрытый ключ и выдать ошибку — это нормальное поведение.
3. Поместите сформированный файл domain.pfx в контейнер.
Далее, перезапустите контейнер:
docker cp /opt/r7-office-docker/configs/ssl/domain.pfx cs-api:/opt/r7-office/Api/domain.pfx docker exec -it cs-api ls -l /opt/r7-office/Api/domain.pfx docker stop cs-api docker start cs-api
3. Отсутствие пользователя team для RabbitMQ в контейнере cs-rabbit. В веб интерфейсе отображается пользователь team с паролем team, но в самом RabbitMQ такого пользователя нет
Симптомы:
Ошибка подключения с кодом 403.
Сообщение в логах Р7 Команды, либо в инсталляторе при настройке конфигурации с интеграцией к Корпоративному серверу 2024:
ERROR: Невозможно подключиться к серверу RabbitMQ. Подробнее: ERROR[0003] session: cannot (re-)dial: Exception (403) Reason: "username or password not allowed": "amqp://team:team@172.16.16.16:5672"
Причина:
В RabbitMQ не был создан пользователь team.
Подтверждение:
docker exec -it cs-rabbitmq bash root@cs-rabbit:/# rabbitmqctl list_users Listing users ... user tags guest [administrator]
Решение:
Создание пользователя вручную внутри контейнера:
rabbitmqctl add_user team team rabbitmqctl set_permissions -p / team ".*" ".*" ".*"
4. Очереди не существуют (ошибка 404)
Симптомы:
Приложение не может подписаться на очередь:
ERROR: Невозможно подключиться к серверу RabbitMQ. Подробнее: ERROR[0000] error subscribing messages: subscribe failed: Exception (404) Reason: "NOT_FOUND - no queue 'Converted.Customer.OtherSystem' in vhost '/'"
Причина:
Очередь Converted.Customer.OtherSystem отсутствовала в RabbitMQ.
Подтверждение:
Очереди были созданы автоматически позже (возможно, самим приложением после получения сообщений):
------ message received on 2025-05-30T17:36:28+03:00 ------ exchange.......: routingkey.....: Converted.Customer.OtherSystem ... RabbitMQ queue Converted.Customer.OtherSystem exists
Решение:
Выполните перезагрузку Корпоративного сервера 2024, далее выполните синхронизацию нажатием кнопки Синхронизировать.
После успешного старта КС2024, выполните на сервере Управления Р7 Команды рестарт службы addressbook.service:
systemctl restart addressbook.service

![[Скрипт установки] Невозможно подключиться к серверу RabbitMQ Подробнее: nc: connect to 172.16.16.16 port 5672 (tcp) failed: Connection refused OK](https://support.r7-office.ru/wp-content/uploads/2025/07/integracija-r7-korporativnyj-server-2024-docker-s-r7-komanda-0.png)



