Как установить и настроить Сервер взаимодействия 1С на CentOS: решение частых ошибок

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При развертывании локального Сервера взаимодействия 1С на операционной системе CentOS администраторы часто сталкиваются с рядом специфических ошибок. Технология включает в себя использование Java, PostgreSQL, веб-сокетов и технологий WebRTC, что требует внимательной настройки каждого компонента. Рассмотрим подробнее основные проблемы, возникающие на этапе старта сервера и проверки его работоспособности, а также проанализируем эффективные способы их устранения.

Ошибка при старте сервера: «Файл не обнаружен daemon.pid»

На начальном этапе, сразу после установки компонентов по инструкции, сервер может отказаться запускаться, выдавая сообщение об ошибке: Файл не обнаружен '/var/cs/svtest/daemon.pid'. 2(0x00000002): No such file or directory.

Выясним причину такого поведения. Ошибка возникает, когда утилита управления (например, ring) или служба инициализации пытается записать PID-файл процесса в указанную директорию, но операция прерывается. Это происходит по следующим причинам:

  1. Директории физически не существует в файловой системе.
  2. У пользователя ОС, от имени которого запускается служба (чаще всего это пользователь cs), отсутствуют права на запись в данную папку.
  3. Процесс сервера аварийно завершается в первые секунды из-за других критических ошибок (например, нехватка оперативной памяти или несовместимая версия Java), не успевая создать PID-файл.

Разберем по шагам, как это исправить. Необходимо вручную создать структуру каталогов и назначить правильные права. Откройте терминал и выполните следующие команды:


mkdir -p /var/cs/svtest
chown -R cs:cs /var/cs/svtest
chmod -R 755 /var/cs/svtest

Также настоятельно рекомендуем убедиться, что в системе установлена подходящая версия Java (желательно Liberica JDK 11 или Oracle Java 11) и успешно запущены вспомогательные службы Hazelcast и Elasticsearch, без которых Сервер взаимодействия работать не будет.

Ошибка в логах: «функция uuid_generate_v4() не существует»

После устранения проблемы с запуском и формирования папки логов, можно обнаружить новую ошибку при попытке сервера инициализировать базу данных: ОШИБКА: функция uuid_generate_v4() не существует.

Проанализируем ситуацию. Серверу взаимодействия для работы с СУБД PostgreSQL требуется возможность генерации уникальных идентификаторов. Эта функция обеспечивается специальным расширением uuid-ossp, которое по умолчанию не активно во вновь созданных базах данных.

Чтобы решить эту задачу, выполним два простых действия:

  1. Установим пакет дополнительных расширений для вашей версии PostgreSQL. Например, для PostgreSQL 12 в CentOS команда будет выглядеть так: yum install postgresql12-contrib -y
  2. Подключимся к базе данных Сервера взаимодействия (под суперпользователем СУБД, например, postgres) и активируем расширение: CREATE EXTENSION IF NOT EXISTS "uuid-ossp";

После выполнения SQL-запроса обязательно перезапустите службу Сервера взаимодействия.

Проверка работоспособности: Blocked wrong socket.io-context request!

При тестировании по инструкции (например, отправке запроса на /rs/health) может появиться сообщение: Blocked wrong socket.io-context request! url: /rs/health.

Эта ошибка генерируется встроенной библиотекой Netty-SocketIO. Она означает, что на порт, предназначенный исключительно для веб-сокетов (по умолчанию 8999), поступил обычный HTTP-запрос. Сервер не может обработать его в текущем контексте.

Посмотрим на решение этой проблемы. Во-первых, запрос для проверки статуса здоровья должен отправляться на порт управления (обычно 8087 или 9094), а не на порт веб-сокетов. Во-вторых, необходимо проверить конфигурационные файлы. Откройте файл com._1c.rcs.management.yml (и аналогичный для websocket) в директории конфигурации сервера.

Если в параметре hostname указан localhost или 127.0.0.1, сервер не сможет корректно принимать внешние подключения. Замените локальный адрес на реальный IP-адрес вашего сервера (или его доменное имя), сохраните файл и перезапустите службу. После этого запросы начнут обрабатываться корректно.

Проблемы с видеозвонками: «Не подключен микрофон»

Одной из самых востребованных функций Системы взаимодействия являются видеозвонки. Однако пользователи часто сталкиваются с ошибкой о неподключенном микрофоне, даже если аппаратно он исправен и включен.

Разберем основные причины и способы их устранения:

  1. Требование безопасного контекста (HTTPS/WSS): Это наиболее частая причина. Технология WebRTC блокирует доступ к медиа-устройствам при подключении по незащищенному протоколу (HTTP/WS). Для корректной работы видеозвонков необходимо настроить SSL-сертификаты. Подключение к серверу должно идти строго по протоколу wss://, а веб-клиент 1С должен работать по https://.
  2. Версия платформы 1С: На старых версиях (например, платформе 8.3.13) видеозвонок прерывается с ошибкой, если у одного из участников физически нет микрофона (или он отключен в диспетчере устройств). Начиная с платформы 8.3.25, это ограничение снято — можно совершать звонки в режиме прослушивания без микрофона. Если вы используете старую платформу, убедитесь, что микрофоны присутствуют у всех участников.
  3. Терминальный доступ (RDP): Если пользователи работают на терминальном сервере, микрофон не определится базой автоматически. В настройках RDP-клиента на локальном компьютере перед подключением необходимо включить проброс аудио: Локальные ресурсы -> Удаленный звук -> Настроить -> Записывать с этого компьютера.
  4. Медиасервер (STUN/TURN): Для маршрутизации трафика видеозвонков между разными подсетями (или за NAT) Серверу взаимодействия требуется внешний медиасервер. Рекомендуется развернуть службу Coturn на Linux и зарегистрировать ее параметры в Системе взаимодействия через утилиту ring.

Лицензионные ограничения (ПРОФ и КОРП)

В завершение рассмотрим организационно-технический нюанс, касающийся лицензирования. Система взаимодействия 1С имеет ограничения в зависимости от используемого уровня лицензий платформы.

Для полноценной работы Сервера взаимодействия без лимитов, особенно на мощном оборудовании, требуются лицензии уровня КОРП. При использовании лицензий ПРОФ действуют ограничения: платформа блокирует функционал на серверах, использующих более 12 ядер процессора, и может ограничивать количество одновременно работающих сеансов. Убедитесь, что ваш аппаратный сервер и приобретенные лицензии соответствуют требованиям 1С для использования расширенного функционала.

← На главную