Почему не работает обмен с ВетИС в серверной версии 1С и как исправить ошибку «Удаленный узел не прошел проверку»?

Системный администратор 1С v8.3 (Управляемые формы) 1С:Управление нашей фирмой Промышленность, строительство и АПК
← На главную

При работе с государственными информационными системами, такими как ВетИС (Меркурий), пользователи часто сталкиваются с парадоксальной ситуацией: в файловом варианте базы данных обмен данными проходит безупречно, но как только база переносится на SQL Server, система выдает критическую ошибку: Данные не переданы в ВетИС. HTTP-запрос не отправлен. Ошибка работы с Интернет: Удаленный узел не прошел проверку. Ситуация осложняется, если сервер работает под управлением устаревших операционных систем, таких как Windows Server 2008 R2.

В этой статье мы подробно разберем причины возникновения этой ошибки, выясним, почему поведение системы меняется при смене режима работы, и разработаем пошаговый план настройки сервера для восстановления обмена.

Разберем разницу между файловым и клиент-серверным режимом

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

В серверном варианте (SQL Server + Сервер 1С) код обмена выполняется не на компьютере пользователя, а на сервере в контексте службы Агент сервера 1С:Предприятия. Обычно эта служба запускается от имени специальной технической учетной записи (например, usr1cv8). У этой учетной записи:

  1. Свой собственный профиль в операционной системе.
  2. Свои (часто пустые или ограниченные) хранилища сертификатов.
  3. Отсутствие доступа к некоторым веткам реестра или сетевым портам.
  4. Специфические настройки протоколов безопасности TLS.

Выясним причину ошибки: Проблема протокола TLS 1.2

Основная причина ошибки «Удаленный узел не прошел проверку» на Windows Server 2008 R2 заключается в том, что современные шлюзы ВетИС требуют использования протокола TLS 1.2. В старых версиях ОС этот протокол по умолчанию либо отключен, либо не настроен для работы с системными компонентами.

Рассмотрим, как принудительно включить поддержку TLS 1.2 на сервере. Нам потребуется внести изменения в системный реестр. Проанализируем структуру ключей, которые необходимо создать или изменить:


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001

После внесения этих изменений сервер необходимо перезагрузить. Это позволит службе 1С использовать современный протокол шифрования при установке соединения с серверами ВетИС.

Проанализируем работу с сертификатами и файл cacert.pem

Если протоколы включены, но ошибка сохраняется, обратим внимание на доверие к сертификатам. 1С:Предприятие использует файл cacert.pem, который содержит список доверенных корневых центров сертификации. В серверном режиме 1С ищет этот файл в каталоге установки платформы на сервере.

Рассмотрим алгоритм проверки и обновления сертификатов:

  1. Перейдем в каталог установки платформы на сервере, например: C:\Program Files\1cv8\8.3.15.1489\bin\conf.
  2. Найдем файл cacert.pem.
  3. Если сертификаты шлюзов ВетИС или их корневых центров (например, сертификаты Минкомсвязи или удостоверяющих центров, выдавших SSL для ВетИС) отсутствуют в этом списке, проверка не пройдет.

Важный момент: часто помогает замена этого файла на более актуальный из последних версий платформы 1С или добавление в него содержимого актуальных корневых сертификатов в формате BASE64. Также необходимо убедиться, что корневые сертификаты ВетИС установлены в хранилище «Доверенные корневые центры сертификации» для учетной записи Локальный компьютер (а не только для текущего пользователя).

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

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

  1. Откроем оснастку Службы (services.msc) и проверим, от чьего имени запускается Агент сервера 1С:Предприятия 8.3.
  2. Если используется системная учетная запись, попробуйте временно сменить ее на административную для теста. Если ошибка пропадет — значит, проблема в правах доступа usr1cv8 к сетевым ресурсам или хранилищу сертификатов.
  3. Проверьте наличие файла inetcfg.xml в папке conf сервера 1С. Если в организации используется прокси-сервер, настройки прокси для серверного процесса должны быть прописаны именно там.

Пример структуры файла inetcfg.xml для настройки прокси:


<Settings>
    <Proxy name="default">
        <server>192.168.0.1</server>
        <port>8080</port>
        <user>proxy_user</user>
        <password>password</password>
        <bypass>localhost</bypass>
    </Proxy>
</Settings>

Решение проблем с алгоритмом SHA-256 на старых ОС

Windows Server 2008 R2 без установленных специальных патчей может не понимать сертификаты, подписанные алгоритмом SHA-256. Поскольку ВетИС использует современные сертификаты, старая ОС может считать их невалидными («Удаленный узел не прошел проверку»).

Проанализируем необходимые обновления. Для корректной работы с современными подписями на Windows Server 2008 R2 должны быть установлены:

Без этих обновлений даже правильная настройка 1С не даст результата, так как ошибка будет возникать на уровне операционной системы при попытке расшифровать сертификат сервера ВетИС.

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

Подводя итог, можно сказать, что перевод базы 1С из файлового режима в клиент-серверный на старых ОС требует тщательной подготовки сетевой инфраструктуры. Основные шаги по устранению ошибки «Удаленный узел не прошел проверку» включают в себя активацию TLS 1.2 через реестр, установку системных обновлений для поддержки SHA-256 и настройку прав доступа технического пользователя usr1cv8 к сертификатам и интернету.

Если после всех манипуляций ошибка сохраняется, рекомендуем проверить Технологический журнал 1С с включенным событием SCALL и ERR, чтобы увидеть подробный лог сетевого взаимодействия. Это позволит точно определить, на каком этапе (установление соединения или проверка цепочки доверия) происходит сбой.

← На главную