Почему 1С не подключается к FTP-серверу при успешном доступе из Windows и сторонних программ?

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

При настройке распределенных информационных баз (РИБ) или обмена данными между филиалами часто используется транспорт сообщений через FTP. Нередко возникает ситуация: при проверке подключения через браузер, проводник Windows или сторонние FTP-клиенты (например, FAR Manager или FileZilla) каталог успешно открывается, но попытка выполнить обмен или нажать кнопку «Проверить подключение» в 1С завершается ошибкой:


Ошибка инициализации подключения к FTP-серверу.
{ОбщийМодуль.ОбменДаннымиСервер.Модуль}: Ошибка при вызове конструктора (FTPСоединение)
по причине:
Ошибка работы с Интернет: ftp://XX.XXX.XX.XX:21 Не могу установить соединение

Разберем детально, почему возникает такое поведение, как локализовать проблему с помощью логов и какие действия необходимо предпринять для восстановления синхронизации.

Анализ причин: почему браузер подключается, а 1С выдает ошибку

Выясним причину такого расхождения в поведении программ. Ключевая разница кроется в механизмах обработки криптографических сертификатов и протоколах защиты (SSL/TLS):

  1. Строгая валидация SSL-сертификатов платформой 1С: Большинство пользовательских FTP-клиентов и браузеров при обнаружении самоподписанного, просроченного или недоверенного сертификата либо просто предупреждают пользователя, либо автоматически принимают его. Платформа 1С использует встроенную библиотеку OpenSSL / системное хранилище Windows и выполняет строгую проверку цепочки доверия. Если сертификат FTP-сервера выпущен неавторизованным центром сертификации (CA) или является самоподписанным, клиент 1С мгновенно разрывает защищенное соединение на этапе TLS-рукопожатия. В логах FTP-сервера это фиксируется как: Unable to establish SSL connection (CLIENT ERROR: Client may have rejected the SSL certificate. Ensure the SSL certificate has been issued by a certificate authority.).
  2. Подключение по прямому IP-адресу вместо доменного имени: Если на сервере установлен корректный SSL-сертификат, но он выписан на доменное имя (например, ftp.company.com), а в настройках узла 1С указан числовой IP-адрес (192.168.1.50 или внешний IP), проверка имени узла (Common Name / SAN) завершится неудачей, и платформа отклонит соединение.
  3. Отсутствие доверенных корневых сертификатов на новом компьютере: При переносе базы на свежеустановленную операционную систему в хранилище доверенных сертификатов могут отсутствовать промежуточные или корневые центры сертификации, необходимые для проверки цепочки.
  4. Особенности конкретных сборок платформы 1С: В некоторых версиях платформы (например, в линейке 8.3.9) присутствовали внутренние ошибки инициализации защищенных сокетов и работы с конструктором FTPСоединение, требовавшие обновления или отката релиза платформы.

Способ 1. Установка SSL-сертификата сервера в доверенные центры Windows

Если на FTP-сервере используется собственный (самоподписанный) сертификат или сертификат локального центра сертификации компании, добавим его в список доверенных на клиентском компьютере:

  1. Экспортируем публичную часть сертификата FTP-сервера (файл с расширением .cer или .crt).
  2. Нажимаем комбинацию клавиш Win + R, вводим certmgr.msc и нажимаем Enter.
  3. Переходим в ветку Доверенные корневые центры сертификации -> Сертификаты.
  4. В контекстном меню выбираем Все задачи -> Импорт и указываем файл сертификата сервера.
  5. Для серверных и регламентных заданий повторяем операцию для учетной записи компьютера через оснастку certlm.msc (Хранилище локального компьютера).

Способ 2. Замена IP-адреса на доменное имя

Проанализируем параметры узла обмена в конфигурации:

  1. Открываем раздел Администрирование -> Синхронизация данных -> Настройки синхронизации данных.
  2. Заходим в параметры транспорта сообщений обмена (FTP).
  3. Если в поле FTP-сервер указан IP-адрес, меняем его на точное доменное имя, на которое выписан SSL-сертификат сервера.
  4. Если у сервера нет внешнего доменного имени в публичном DNS, прописываем соответствие IP-адреса и имени в файле C:\Windows\System32\drivers\etc\hosts на стороне клиента: XX.XXX.XX.XX ftp.mycompany.local
  5. В настройках обмена 1С указываем адрес ftp.mycompany.local и повторяем проверку подключения.

Способ 3. Отключение требования SSL/TLS на стороне FTP-сервера

Если обмен выполняется внутри изолированной корпоративной сети или через защищенный VPN-канал, избыточное шифрование на уровне FTP можно отключить:

  1. Обратимся к администратору FTP-сервера с просьбой изменить политику безопасности для учетной записи обмена 1С.
  2. В настройках FTP-сервера (FileZilla Server, IIS FTP, vsftpd) отключаем опцию Require TLS / Force SSL, переведя ее в режим Allow plain FTP или отключив команду AUTH TLS.
  3. В 1С проверяем подключение в стандартном незашифрованном режиме по порту 21.

Способ 4. Проверка конструктора соединения и параметров платформы

Посмотрим на программный вызов объекта FTPСоединение, который используется в библиотеке стандартных подсистем (БСП):


Новый FTPСоединение(
    Сервер,
    Порт,
    ИмяПользователя,
    ПарольПользователя,
    Прокси,
    ПассивноеСоединение,
    Таймаут,
    ЗащищенноеСоединение,
    УровеньИспользованияЗащищенногоСоединения
)

Обратим внимание на параметры ЗащищенноеСоединение и ПассивноеСоединение. В типовых сценариях:

  1. Проверяем, установлен ли флаг Пассивный режим в форме настройки транспорта. В большинстве современных сетевых окружений с NAT и роутерами пассивный режим является обязательным для стабильной передачи данных.
  2. Если проблема проявляется на конкретном рабочем месте после обновления или смены оборудования, проверяем версию установленной технологической платформы. При возникновении ошибок TLS-рукопожатия на старых сборках 1С (в частности, 8.3.9) обновляем платформу до актуального стабильного релиза (ветки 8.3.20, 8.3.22 и новее), где библиотеки криптографии и механизмы работы с OpenSSL полностью обновлены.

Альтернативные способы организации обмена

Если оперативно скорректировать сертификаты на FTP-сервере не удается, разберем альтернативные варианты доставки файлов обмена:

  1. Обмен через сетевой каталог (SMB/VPN): Организация защищенного VPN-туннеля между точкой и центральным офисом и переключение транспорта обмена на общую сетевую папку (UNC-путь \\server\exchange).
  2. Прямой веб-сервис (HTTP/HTTPS): Публикация базы на веб-сервере (Apache или IIS) и настройка синхронизации через прямое подключение без промежуточного файлового хранилища.
  3. Скриптовая доставка (PowerShell / WinSCP): Настройка 1С на выгрузку в локальный каталог, а передачу архива на FTP возлагаем на внешний скрипт, запускаемый планировщиком Windows. Сторонние утилиты позволяют гибко игнорировать некритичные ошибки валидации сертификатов ключом проверки.
← На главную