1С: Удаленный узел не прошел проверку

В новых версиях конфигурации у множества пользователей вдруг ни с того ни с сего возникла проблема:


  • Контрагенты по ИНН заполняться не хотят;
  • Банки и валюты не загружаются;
  • Всякие прочие системы, активно использующие обращения к интернет ресурсам, выдают непонятную ошибку.


Например, такую:


ysy0nf4lrlainoodl4ls6ofiome.png


Первое, что приходит в голову: 1С опять все разломали! Не работает!!!
Но если на секунду задуматься, «не прошел проверку», что это может значить?


Статья написана в два блока:


  • для людей, встретивших ошибку, и немножко не в теме…
  • для специалистов, которые хотят решить проблему.


Итак, первое на что стоит обратить внимание: такая ошибка возникает только если 1С пытается установиться соединение по протоколу https, т.е. с установкой защищенного соединения.


Что понимается под защищенным соединением?

Установленный с помощью криптографических алгоритмов туннель, по которому можно безопасно передавать данные.


При чем здесь проверка?

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


Ну как тогда кому-то доверять?

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


Доверенные центры являются удостоверяющими центрами и могут подтвердить, что ты — это ты, а, к примеру, яндекс — это яндекс. Для подтверждения выдают сертификат.


Если кто-то попытается выдать себя за яндекс — то проверяя его сертификат мы обнаружен, что либо сертификат не удостоверен (ни один из удостоверяющих центров его не подтвердил), либо сертификат устарел (в целом сертификат выдается на 1–3 года и его надо вовремя переиздавать), либо такого сертификата вовсе нет.


gjgv4xcsujmagpp9hjiaorrfsye.png


Так вот что значит не прошел проверку!

Да, это значит, что нам не удалось выполнить проверку сертификата того, с кем мы пытались связаться.


Но как это может быть? Ведь я открываю сайт — вот он, а 1С вдруг ругается…

Начиная с версии 8.3.8 1С выполняет проверку, используя те же сертификаты, что установлены в Windows. Это значит, что проблема скорее всего все-таки не в 1С, а в том, каким образом 1С подключается к интернету.


В первую очередь получив сообщение «Удаленный узел не прошел проверку» надо задуматься о безопасности интернет соединения не только с 1С, но и со всем другим окружением.


Я вижу проблему только в 1С, все остальное работает!

Попробуйте открыть проблемную ссылку (она будет указана в сообщении об ошибке) с помощью браузера Internet Explorer (другие браузеры, например Mozilla используют свое хранилище сертификатов, а нам нужно проверить хранилище сертификатов Windows).


Microsoft Edge, например, будет ругаться так:


q8zdpg9l6siwctqvv9fpsj7iymq.png


Internet Explorer подсветит строку адреса и сообщит об ошибке сертификата


xb6kqg39wler2q4ahcgtfhu5pc0.png


Google Chrome тоже сообщит об ошибке перечеркнув в адресе https.


lvlxpscov78ottauiy7v-wj0z1u.png


Вы меня совсем напугали, что мне делать и почему все небезопасно? Меня прослушивают?

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


Но на практике чаще всего проблема из-за неправильно настроенного способа раздачи интернета.


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


Да, у меня интернет настроен через прокси! Как настроить правильно?

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


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


Если следовать инструкции дальше сложно — лучше обратиться к специалисту.


Варианты настройка прокси сервера в 1С


Итак, в первую очередь надо понимать, что 1С может обращаться к интернет ресурсам на клиенте и на сервере. Но чаще всего — на сервере.


  • при обращении с клиента следует устанавливать прокси на клиентском компьютере
  • при обращении с сервера — на сервере


1С может работать во множестве разных режимов:


  1. В файловом варианте с подключением к сетевому диску. В этом случае сервер так же будет являться клиентским компьютером.
  2. в файловом варианте через веб-сервер. В этом случае прокси сервер надо задавать на веб-сервере.
  3. в клиент-серверном варианте (в.т.ч через веб сервер) — надо настраивать сервер 1С (в этот же вариант попадет и работа в модели сервиса, но я думаю те, кто разворачивают у себя сервис, способны решить эту проблему самостоятельно).


Источники настроек прокси сервера настраиваются по приоритету:


  1. Из настроек информационной базы.
    1.1. Для клиентского компьютера и для файлового режима работы в параметрах пользователя.
    1.2. Для серверных информационных баз в настройках сервера «Администрирование \ Общие настройки \ Параметры серверной информационной базы \ Параметры доступа в интернет».
  2. Если в настройках ИБ установлен режим «Использовать системные настройки прокси-сервера», то платформа попытается получить настройки из файла inetcfg.xml из каталога конфигурационных файлов (например, C:\Program Files (x86)\1cv8\conf)
  3. При отсутствии файла в Windows настройки берутся из настроек Internet Explorer (Панель управления \ Настройки браузеров \ Соединение \ Настройки LAN \ Использовать прокси сервер).


yg8-vhu4ccrn8uvt1q54-mijgcq.png


Для linux и mac из переменных окружения см. документацию по inetcfg.xml


Необходимо обязательно помнить, что настройки должны быть установлены для пользователя Windows, от имени которого запускается сервер 1С или стартует пул IIS или работает Apache.


Если все настройки прокси выставлены то их можно проверить с помощью простенького инструмента, который я собрал.


Скачать с github


А если по-хорошему — не используйте прокси-серверы… :)

© Habrahabr.ru