Как исправить ошибку "Удаленный узел не прошел проверку" в 1С при подключении через тонкий клиент?

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

При подключении тонкого клиента 1С к информационной базе, опубликованной на веб-сервере (например, Apache) с использованием SSL-сертификата, может возникать ошибка: Невосстановимая ошибка. Ошибка при выполнении запроса POST... по причине: Ошибка HTTP при обращении к серверу: Удаленный узел не прошел проверку. Рассмотрим, почему это происходит и как это исправить.

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

Проанализируем несколько способов решения: от быстрого и простого до более правильного и безопасного.

Решение 1: Отключение проверки сертификата в настройках информационной базы

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

Разберем по шагам, как это сделать:

  1. В окне запуска 1С:Предприятие выделите проблемную информационную базу в списке.
  2. Нажмите на кнопку "Изменить".
  3. В открывшемся окне мастера подключения к ИБ последовательно нажимайте кнопку "Далее >", не изменяя никаких параметров, пока не дойдете до страницы "Дополнительные параметры запуска".
  4. На этой странице вы найдете опции для проверки сертификата сервера. Установите следующие значения:
    • Проверять сертификат сервера: "Не проверять"
    • Предоставлять сертификат клиента: "Не предоставлять"
  5. Нажмите кнопку "Готово", чтобы сохранить изменения.

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

Решение 2: Правильный импорт сертификата на клиентский компьютер

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

Шаг 1. Экспорт сертификата сервера

Сначала нужно получить файл сертификата. Самый простой способ — через браузер.

  1. На проблемном клиентском компьютере откройте любой современный браузер (Chrome, Edge, Firefox).
  2. В адресной строке введите HTTPS-адрес вашей информационной базы (например, https://server.name:port/base).
  3. Браузер покажет предупреждение о небезопасном соединении. Нажмите на значок замка с восклицательным знаком в адресной строке.
  4. В появившемся меню найдите пункт, связанный с просмотром сертификата (например, "Соединение защищено" -> "Сертификат действителен").
  5. В окне с информацией о сертификате перейдите на вкладку "Состав" (или "Details").
  6. Нажмите кнопку "Копировать в файл..." (или "Export..."). Запустится Мастер экспорта сертификатов.
  7. В мастере выберите формат "Файлы X.509 (.CER) в кодировке DER".
  8. Укажите имя файла и сохраните его на диске.

Шаг 2. Импорт сертификата в хранилище доверенных

Теперь импортируем сохраненный файл в системное хранилище "Доверенные корневые центры сертификации". Важно сделать это для локального компьютера, чтобы настройка применилась для всех пользователей.

  1. Нажмите сочетание клавиш Win+R, введите команду certlm.msc и нажмите Enter. Откроется оснастка управления сертификатами локального компьютера.
  2. В дереве слева раскройте ветку "Доверенные корневые центры сертификации" и перейдите в подраздел "Сертификаты".
  3. Нажмите правой кнопкой мыши на папке "Сертификаты", выберите в меню "Все задачи" -> "Импорт...".
  4. Запустится Мастер импорта сертификатов. Нажмите "Далее".
  5. Укажите путь к файлу сертификата (.cer), который вы сохранили на предыдущем шаге.
  6. На следующем шаге убедитесь, что выбрано хранилище "Доверенные корневые центры сертификации".
  7. Нажмите "Далее" и "Готово" для завершения импорта.

После этих действий операционная система Windows будет считать сертификат вашего сервера доверенным. Попробуйте снова запустить тонкий клиент 1С — ошибка "Удаленный узел не прошел проверку" должна исчезнуть.

Решение 3: Для программных соединений (для разработчиков)

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

Рассмотрим пример кода, который может вызывать ошибку:


// Этот код пытается проверить сертификат по системным хранилищам, что может вызвать ошибку
ssl = Новый ЗащищенноеСоединениеOpenSSL(
    Новый СертификатКлиентаWindows, 
    Новый СертификатыУдостоверяющихЦентровWindows
);
Соединение = Новый HTTPСоединение("192.168.1.100", 443, , , , , ssl);

Чтобы обойти проверку сертификата в коде, необходимо создать объект ЗащищенноеСоединениеOpenSSL без параметров. В этом случае 1С не будет пытаться валидировать сертификат сервера.

Правильный код для игнорирования проверки:


// Создаем объект защищенного соединения без параметров, чтобы отключить проверку
ssl = Новый ЗащищенноеСоединениеOpenSSL; 
Соединение = Новый HTTPСоединение("192.168.1.100", 443, , , , , ssl);

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

Дополнительная диагностика: почему даже с Let's Encrypt может быть ошибка?

Иногда ошибка сохраняется даже при использовании валидного сертификата, например, от Let's Encrypt. Это может быть связано с тем, что клиентский компьютер не может проверить статус отзыва сертификата. Для этого система пытается обратиться по специальным URL-адресам (CRL или OCSP), указанным в самом сертификате.

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

  1. Нажмите Win+R, введите eventvwr.msc и откройте "Просмотр событий".
  2. Перейдите в "Журналы приложений и служб" -> "Microsoft" -> "Windows" -> "CAPI2" -> "Operational".
  3. Нажмите на журнал "Operational" правой кнопкой мыши и выберите "Включить журнал".
  4. Воспроизведите ошибку в 1С.
  5. Обновите журнал событий (клавиша F5) и просмотрите появившиеся записи с ошибками. В них будет подробно указано, на каком этапе проверка сертификата потерпела неудачу.

Это мощный инструмент, который поможет найти точную причину проблемы, если простые решения не помогли.

← На главную