← На главную
При организации хранения прикрепленных файлов в томах на сетевом диске системные администраторы и разработчики часто задаются вопросом: каким образом файл попадает на рабочее место пользователя при нажатии кнопки открытия или выгрузки? Происходит ли скачивание напрямую по указанному сетевому пути или данные сначала поднимаются на сервер «1С:Предприятия», а затем пересылаются в тонкий клиент? Рассмотрим архитектуру этого процесса, разберем причины такого поведения платформы и выясним, как это влияет на инфраструктуру и безопасность.
Схема передачи файла: пошаговый процесс
Проанализируем типовой сценарий, когда база данных работает в клиент-серверном режиме, подключение тонкого клиента выполняется по протоколу TCP/IP напрямую к кластеру серверов (через порт 1541), а файлы хранятся в сетевом каталоге по UNC-пути, например \\1.1.1.1\folder.
Передача файла конечному пользователю всегда происходит по двухэтапной цепочке: сетевой том → сервер приложений 1С → тонкий клиент. Разберем по шагам, как это работает на уровне платформы:
- Запрос от клиента к серверу: пользователь в тонком клиенте инициирует открытие файла. Клиентское приложение не читает сетевой каталог, а отправляет удаленный вызов процедуры на сервер 1С.
- Чтение файла процессом сервера: рабочий процесс кластера
rphost получает запрос, находит нужный файл в сетевом томе и считывает его двоичные данные. Обращение к общему сетевому ресурсу выполняет именно служба сервера 1С.
- Помещение во временное хранилище: прочитанный файл загружается в оперативную память процесса
rphost или временное хранилище кластера.
- Передача клиенту по протоколу 1С: через установленный сетевой канал между кластером серверов и тонким клиентом двоичные данные передаются на компьютер пользователя.
- Сохранение в локальный кэш: тонкий клиент сохраняет файл в локальный каталог временных файлов пользователя и открывает его соответствующим внешним приложением операционной системы.
Вопросы безопасности и модель разграничения прав
Выясним причину, почему прямой доступ клиента к сетевой папке исключен архитектурно. Если бы тонкий клиент пытался обращаться к сетевому каталогу напрямую, возникла бы критическая уязвимость всей модели безопасности информационной системы:
- Необходимость выдачи прямых прав пользователям: для прямого чтения пришлось бы предоставить учетным записям каждого пользователя Windows права доступа к общей сетевой папке. В таком случае любой пользователь мог бы открыть проводник Windows, зайти по сетевому пути и скопировать, модифицировать или безвозвратно удалить файлы в обход прав доступа, настроенных в 1С.
- Принцип минимальных привилегий: архитектура 1С требует, чтобы доступ на чтение и запись к сетевой папке имела только сервисная учетная запись операционной системы, от имени которой запущен сервер 1С (по умолчанию
usr1cv8). Конечные пользователи вообще не должны иметь сетевого доступа к папке с файлами.
- Контроль платформы: именно сервер приложений 1С проверяет права пользователя (на основе ролей конфигурации и механизмов БСП) перед тем, как отдать двоичные данные на клиент.
Влияние на производительность и нагрузку на сеть
Поскольку файл перемещается последовательно через два сетевых соединения, рассмотрим, какие нюансы необходимо учитывать системным администраторам при сайзинге и проектировании инфраструктуры:
- Двойной сетевой трафик: передача одного файла размером 500 МБ сначала генерирует 500 МБ входящего трафика на сетевом адаптере сервера 1С из файлового хранилища, а затем 500 МБ исходящего трафика с сервера 1С на рабочий компьютер пользователя. При одновременной активной работе сотен пользователей это создает существенную нагрузку на канал связи сервера приложений.
- Потребление оперативной памяти: считывание «тяжелых» файлов напрямую в оперативную память процесса
rphost способно вызывать резкие скачки потребления RAM на сервере 1С. Если размер файла очень велик, это может приводить к аварийному завершению серверного вызова из-за превышения установленных лимитов памяти кластера.
- Локальное кэширование на клиенте: механизмы Библиотеки стандартных подсистем (БСП) снижают нагрузку на канал за счет кэширования. При открытии файла клиент сверяет реквизиты версии и дату изменения. Если файл в системе не менялся, а его локальная копия уже присутствует во временном каталоге клиента, повторное скачивание по сети не инициируется.
Особенности развертывания на базе Linux
Рассмотрим важную деталь, если серверная часть 1С функционирует под управлением ОС Linux. Процессы rphost в Linux не умеют работать с прямыми Windows-путями формата \\server\folder. В таких инфраструктурах сетевой ресурс хранения предварительно монтируется в файловую систему сервера Linux через протоколы CIFS или NFS, а в настройках томов в 1С прописывается локальный путь точки монтирования, например /mnt/storage/files/.