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

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

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

В чем заключается проблема и ограничения платформы

Проанализируем ситуацию, почему возникает подобный конфликт адресов. Платформа «1С:Предприятие» в конфигурационном файле публикации default.vrd позволяет задавать только один URL-адрес для получения дистрибутива тонкого клиента. Указать несколько IP-адресов через запятую или точку с запятой платформа не позволяет.

Когда внутренний пользователь обращается к веб-серверу, его локальный компьютер не всегда умеет правильно маршрутизировать запросы на внешний IP-адрес компании (особенно если на маршрутизаторе не настроена технология Hairpin NAT). В свою очередь, внешние пользователи из интернета не имеют доступа к внутренним IP-адресам локальной сети. Разберем по шагам проверенные способы решения этой задачи.

Способ 1. Настройка сетевого или относительного пути к дистрибутиву

Рассмотрим вариант размещения архива с дистрибутивом тонкого клиента непосредственно на веб-сервере или в общем сетевом ресурсе. Вместо использования абсолютных HTTP-ссылок с указанием конкретного IP-адреса можно использовать относительный путь или сетевой каталог.

Разместите zip-архив дистрибутива в каталоге веб-сервера (в папке самой публикации). В этом случае в настройках публикации или напрямую в файле default.vrd задается относительный URL:

/platform/thin_client.zip

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

Способ 2. Использование Split-Brain DNS (Разделенный DNS)

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

  1. Регистрируем единое доменное имя для нашей базы 1С (например, 1c.company.ru).
  2. На внутреннем DNS-сервере организации сопоставляем имя 1c.company.ru с локальным IP-адресом веб-сервера (например, 192.168.1.100).
  3. На внешнем DNS-сервере сопоставляем то же имя 1c.company.ru с публичным IP-адресом компании.
  4. В настройках публикации 1С указываем URL-адрес с использованием единого доменного имени.

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

Способ 3. Использование файла hosts на рабочих местах

Разберем еще один способ, подходящий для небольшой локальной сети. Если нет возможности настроить внутренний DNS-сервер, сопоставление внешнего доменного имени и внутреннего IP-адреса можно прописать вручную в файле hosts на операционных системах пользователей.

Для этого откроем файл C:\Windows\System32\drivers\etc\hosts с правами администратора и добавим строчку сопоставления локального IP-адреса веб-сервера и внешнего домена:

192.168.1.100 1c.company.ru

В параметрах публикации 1С при этом указываем доменное имя 1c.company.ru. Локальные ПК будут обращаться напрямую к внутреннему серверу, а внешние пользователи — через интернет по публичному DNS.

Способ 4. Настройка Hairpin NAT (NAT Loopback) на маршрутизаторе

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

После включения NAT Loopback на роутере и внутренние, и внешние пользователи смогут одинаково успешно обращаться по внешнему IP-адресу или домену для скачивания обновлений.

Способ 5. Создание двух отдельных публикаций

Рассмотрим вариант разделения публикаций на веб-сервере. На одном веб-сервере (Apache или IIS) можно опубликовать одну и ту же информационную базу под разными именами (например, base_local и base_web):

  1. Для публикации base_local указываем путь к дистрибутиву во внутренней сети или внутренний IP-адрес. К ней подключаются только сотрудники из локальной сети.
  2. Для публикации base_web указываем внешний адрес или внешний путь. Данная публикация предназначается для внешних пользователей из интернета.

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

← На главную