Как настроить самый простой FTP-сервер или его альтернативу для синхронизации в 1С

Системный администратор IT и автоматизация бизнеса
← На главную

Синхронизация распределенных информационных баз (РИБ) или обмен данными между локальной 1С и внешними системами (например, интернет-магазином) традиционно требует промежуточного файлового хранилища. Долгое время стандартом для этой задачи оставался протокол FTP. Однако процесс развертывания полноценного FTP-сервера часто пугает системных администраторов и программистов необходимостью устанавливать сторонний софт (вроде FileZilla Server), пробрасывать порты на роутерах и следить за безопасностью.

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

Вариант 1. Встроенная служба IIS в Windows (без стороннего ПО)

Если на сервере или рабочем компьютере установлена операционная система Windows (как серверная, так и обычная клиентская версия Pro), нам не нужно скачивать сторонние утилиты. В систему уже встроен мощный веб-сервер IIS (Internet Information Services), который включает в себя и службу FTP.

Разберем по шагам, как активировать и настроить этот компонент:

  1. Откроем Панель управления, перейдем в раздел Программы и компоненты и выберем пункт Включение или отключение компонентов Windows.
  2. В появившемся дереве найдем службу Службы IIS (Internet Information Services).
  3. Развернем этот узел и обязательно отметим галочками пункты FTP-сервер, Служба FTP и Консоль управления IIS.
  4. Нажмем ОК и дождемся завершения установки компонентов.
  5. После установки откроем Диспетчер служб IIS (его можно найти через поиск в меню Пуск).
  6. В дереве подключений нажмем правой кнопкой мыши на узел Сайты и выберем Добавить FTP-сайт.
  7. Укажем понятное имя сайта и физический путь к папке на диске, куда 1С будет выгружать файлы обмена.
  8. В настройках привязки укажем IP-адрес (или оставим "Все свободные") и порт (по умолчанию 21). В разделе SSL выберем Без SSL (для упрощения первичной настройки, хотя для боевых баз рекомендуется использовать шифрование).
  9. На этапе аутентификации выберем метод Базовая, укажем пользователей, которым разрешен доступ (например, локальный пользователь Windows, созданный специально для обмена 1С), и предоставим им права на Чтение и Запись.

После этого служба запустится автоматически. Нам останется лишь настроить брандмауэр Windows, разрешив входящие подключения для службы FTP.

Вариант 2. Использование сверхлегкого Baby FTP Server

Если настройка IIS кажется избыточной, а FileZilla Server пугает обилием вкладок, можно воспользоваться специализированным мини-сервером. Одним из самых простых и не требующих установки решений является утилита Baby FTP Server.

Рассмотрим особенности этого инструмента:

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

Вариант 3. Покупка готового хостинга с FTP (самый ленивый способ)

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

Выясним основные преимущества такого подхода:

Вариант 4. Безопасная встроенная альтернатива: SFTP (OpenSSH) в Windows

Обычный протокол FTP морально устарел, поскольку передает логины, пароли и коммерческие данные в открытом, незашифрованном виде. Вместо него современные стандарты требуют использования защищенного протокола SFTP. Начиная с Windows 10 и Windows Server 2019, в операционную систему по умолчанию интегрирован сервер OpenSSH.

Проанализируем, почему этот вариант считается одним из лучших:

Вариант 5. Синхронизация через «облачную папку» (без сетевых настроек)

Для небольших компаний или распределенных баз (РИБ) существует гениальное по своей простоте решение, которое вообще избавляет от необходимости настраивать сетевые протоколы обмена в самой 1С.

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

  1. На компьютерах, между которыми необходимо настроить синхронизацию, устанавливается официальное приложение любого популярного облачного диска (Яндекс.Диск, Google Диск, Облако Mail.ru) под одной и той же учетной записью.
  2. Приложение создает на жестком диске специальную папку, содержимое которой автоматически синхронизируется с облаком в фоновом режиме.
  3. В настройках обмена 1С мы указываем тип транспорта "Локальный или сетевой каталог" и выбираем путь к этой синхронизируемой облачной папке.

В результате процесс выглядит следующим образом: 1С на первом компьютере просто записывает файл обмена на локальный диск C:\YandexDisk\Exchange. Облачный клиент мгновенно замечает новый файл и закачивает его в облако. Облачный клиент на втором компьютере тут же скачивает этот файл к себе в аналогичную папку, откуда его успешно забирает вторая база 1С. Никаких настроек роутеров, проброса портов и покупки статических IP-адресов не требуется!

Вариант 6. Переход на технологии WebDAV или объектные хранилища S3

Если вы хотите идти в ногу со временем и использовать наиболее стабильные технологии, обратите внимание на WebDAV и S3-хранилища.

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

Объектные хранилища S3 (которые предоставляют такие провайдеры, как Yandex Cloud, Selectel или Cloud.ru) являются стандартом де-факто для хранения бэкапов и файлов обмена. Начиная с версии платформы 8.3.15, в 1С реализована встроенная поддержка работы с S3-совместимыми хранилищами, что позволяет осуществлять обмен напрямую через API, минуя любые промежуточные FTP-серверы.

Важный технический нюанс: Активный и Пассивный режимы FTP

Если вы все же остановили свой выбор на классическом FTP-соединении, обязательно учитывайте технические особенности работы этого протокола, из-за которых чаще всего ломается обмен в 1С.

FTP-протокол использует два режима передачи данных:

При написании кода или интерактивной настройке обмена в 1С всегда следите за тем, чтобы был включен пассивный режим.

Посмотрим на пример инициализации безопасного и корректного подключения в коде 1С:


// Создаем параметры подключения с обязательным указанием пассивного режима
ПассивныйРежим = Истина;
Порт = 21;
Таймаут = 30; // Время ожидания ответа сервера в секундах

Соединение = Новый FTPСоединение("ftp.example.com", Порт, "Логин1С", "Пароль1С", , ПассивныйРежим, Таймаут);

// Выполняем выгрузку файла обмена
Соединение.Записать("C:\Exchange\Message_001_002.xml", "Message_001_002.xml");

Использование параметра ПассивныйРежим = Истина в конструкторе объекта FTPСоединение гарантирует, что ваше подключение успешно преодолеет защитные экраны и маршрутизаторы на стороне клиента.

← На главную