Почему в клиент-серверной базе 1С не работает подключение к ЭДО, хотя в файловой всё успешно?

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

Рассмотрим ситуацию, которая часто ставит в тупик даже опытных специалистов: при настройке электронного документооборота (ЭДО) в базе «1С:Управление торговлей» список операторов оказывается пустым, и программа выдает ошибку подключения. Самое странное в этой ситуации то, что если выгрузить ту же самую базу в файловый вариант и запустить ее на том же компьютере, всё работает идеально. Проанализируем причины этого поведения и разберем по шагам, как настроить серверную часть для корректной работы с внешними сервисами.

Различие механизмов выполнения запросов в файловом и клиент-серверном вариантах

Для начала разберем теоретическую часть, которая объясняет корень проблемы. В файловом варианте базы данных все операции, включая запросы к серверам 1С и операторам ЭДО, выполняет клиентское приложение — исполняемый файл 1cv8.exe. Этот процесс запущен от имени текущего пользователя Windows, который имеет доступ к своим сертификатам, настройкам интернета и прокси-сервера.

В клиент-серверном варианте ситуация в корне меняется. Большинство процедур по работе с криптографией и сетевыми запросами переносится на сторону сервера. Выполняет их процесс rphost.exe. Этот процесс работает под управлением службы «1C:Enterprise 8.3 Server Agent», которая, как правило, запущена от имени специальной технической учетной записи (например, USR1CV8). Именно в этом «раздвоении личностей» и кроется причина ошибки: то, что разрешено и доступно вам как пользователю, может быть запрещено или недоступно системной службе сервера.

Проверка учетной записи службы сервера 1С

Выясним, под кем именно работает ваш сервер. Это первый и самый важный шаг в диагностике. Проанализируем настройки операционной системы:

  1. Откроем консоль управления службами (services.msc).
  2. Найдем в списке службу Агент сервера 1С:Предприятия 8.3.
  3. Перейдем на вкладку Вход в систему.

Если там указана учетная запись типа .\USR1CV8 или Local Service, мы имеем дело с ограниченным профилем. У этой учетной записи может не быть доступа к интернету через корпоративный шлюз, или для нее не настроены параметры прокси-сервера. Если вы видите, что служба запущена от имени «Системная учетная запись», это не гарантирует успех, так как ее сетевые права также могут быть ограничены политиками безопасности.

Настройка доступа к корневым сертификатам

Для установления защищенного соединения HTTPS серверу 1С необходимо проверить цепочку сертификатов сайта 1c-edo.ru или portal.1c.ru. Рассмотрим, как сервер ищет эти сертификаты. Пользователь устанавливает сертификаты в свое личное хранилище, но служба сервера 1С не имеет к нему доступа. Чтобы исправить это, нам необходимо установить корневые сертификаты удостоверяющих центров (УЦ) в хранилище Локальный компьютер.

Проделаем следующие действия:

  1. Запустим консоль сертификатов certlm.msc (именно локального компьютера, а не пользователя).
  2. Перейдем в ветку Доверенные корневые центры сертификации — Реестр — Сертификаты.
  3. Убедимся, что там присутствуют сертификаты УЦ, выпустившего сертификат для ресурсов 1С.
  4. Если их нет, необходимо экспортировать их из браузера и импортировать в это хранилище.

Конфигурация файла inetcfg.xml

Иногда сервер 1С игнорирует системные настройки прокси-сервера Windows. В таких случаях нам поможет ручная настройка файла конфигурации. Посмотрим, где он находится и что в нем должно быть. Путь к файлу обычно следующий: C:\Program Files\1cv8\conf\inetcfg.xml.

Если этого файла нет, его нужно создать. Рассмотрим пример содержимого этого файла для корректной работы через прокси:


<config xmlns="http://v8.1c.ru/8.2/inetcfg">
    <proxyport>8080</proxyport>
    <proxyhost>192.168.1.1</proxyhost>
    <proxyuser>proxy_admin</proxyuser>
    <proxypass>password123</proxypass>
    <bypassOnLocal>true</bypassOnLocal>
</config>

После создания или изменения этого файла обязательно перезапустим службу сервера 1С, чтобы изменения вступили в силу.

Разрешение сетевой активности для rphost.exe в брандмауэре

Проанализируем работу антивируса или встроенного брандмауэра Windows. Часто системные администраторы разрешают выход в интернет только для определенных приложений. Проверьте, что в списке исключений находится не только 1cv8.exe (тонкий/толстый клиент), но и все исполняемые файлы сервера 1С:

Попробуйте временно отключить брандмауэр на сервере и проверить, появится ли список операторов ЭДО. Если список появился — проблема в правилах фильтрации трафика.

Белые списки адресов для ЭДО

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

Важно помнить, что проверка должна идти именно с IP-адреса сервера, а не с вашего рабочего места.

Протоколы безопасности TLS

Поскольку используется платформа версии 8.3.24, она предъявляет высокие требования к безопасности соединений. Современные сервера ЭДО требуют протокол TLS 1.2 или выше. Если серверная операционная система устарела (например, Windows Server 2008 или 2012 без последних обновлений), компоненты rphost.exe могут просто не суметь договориться о шифровании с сервером оператора. Рекомендуем убедиться, что в настройках ОС включена поддержка современных протоколов TLS, и установлены все критические обновления безопасности.

Использование профилей безопасности (Security Profiles)

В новых версиях платформы 1С реализован механизм профилей безопасности. Если в вашей информационной базе включены профили безопасности для кластера, то серверу 1С будет запрещено любое внешнее соединение, которое явно не прописано в настройках профиля. Проанализируем настройки в консоли администрирования кластера 1С. Если профиль назначен, в нем должен быть разрешен доступ к интернет-ресурсам (протоколы http/https) для соответствующих URL.

Итоги и рекомендации

Подводя итог, можно составить краткий чек-лист для исправления ошибки пустого списка операторов ЭДО в серверной базе:

  1. Убеждаемся, что служба сервера запущена от пользователя с правами доступа в интернет.
  2. Переносим корневые сертификаты в хранилище Local Machine.
  3. Настраиваем inetcfg.xml, если в сети используется прокси-сервер.
  4. Добавляем rphost.exe в исключения брандмауэра.
  5. Проверяем доступность узлов 1c-edo.ru непосредственно с сервера.

Помните, что клиент-серверный режим — это всегда работа в изолированной среде службы. Как только вы обеспечите этой среде те же условия (сертификаты и сеть), которые есть у обычного пользователя, проблема с подключением ЭДО будет решена.

← На главную