Как опубликовать файловую базу 1С в интернете через IIS при отсутствии статического IP-адреса?

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

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

Анализируем сетевую доступность и настраиваем проброс портов

Первая и самая частая причина, по которой база 1С недоступна из интернета после публикации на IIS (Internet Information Services), — это закрытые порты на сетевом оборудовании. По умолчанию IIS работает на порту 80 (для протокола HTTP) и 443 (для защищенного HTTPS). Рассмотрим, как организовать доступ по шагам.

Проанализируем ситуацию: ваш компьютер с установленным IIS имеет локальный IP-адрес в домашней или офисной сети (например, 192.168.1.10). Когда вы пытаетесь обратиться к базе по внешнему IP-адресу, запрос приходит на роутер. Роутер, не имея специальных инструкций, "не знает", какому именно устройству внутри сети предназначен этот запрос, и отбрасывает его. Для решения этой проблемы нам необходимо настроить Port Forwarding (проброс портов).

  1. Зайдем в панель управления роутером (обычно это адрес 192.168.0.1 или 192.168.1.1).
  2. Найдем раздел "Переадресация", "Виртуальный сервер" или "Port Forwarding".
  3. Создадим новое правило:
    • Внешний порт: 80 (или любой другой, например 8080, если 80 занят провайдером).
    • Внутренний порт: 80 (порт, на котором слушает IIS).
    • Внутренний IP: локальный адрес вашего сервера 1С.
    • Протокол: TCP.

Выясним причину, почему даже после этого база может быть недоступна. Убедимся, что Брандмауэр Windows на самом сервере разрешает входящие подключения для веб-сервера. Разберем, как добавить правило: перейдем в "Монитор брандмауэра Windows в режиме повышенной безопасности", выберем "Правила для входящих подключений" и разрешим работу для порта 80.

Решаем проблему динамического IP-адреса

Если ваш IP-адрес меняется при каждом перезапуске роутера, прямое использование IP в ссылке становится невозможным. Рассмотрим два пути решения этой задачи.

Вариант 1: Использование DDNS (Dynamic DNS). Разберем принцип работы: специальный сервис (например, No-IP или DuckDNS) предоставляет вам постоянное доменное имя (например, mycompany1c.ddns.net). Программа-клиент на вашем сервере периодически сообщает сервису ваш текущий внешний IP. Таким образом, при обращении по доменному имени запрос всегда будет перенаправляться на актуальный адрес.

Вариант 2: Использование Mesh-VPN (Tailscale, ZeroTier). Это современный и безопасный метод, который позволяет вообще не открывать порты в интернет. Рассмотрим его подробнее: вы устанавливаете клиент сети на сервер и на клиентское устройство. Они объединяются в виртуальную локальную сеть, где каждому присваивается статический внутренний IP. Обращение к 1С будет происходить по этому внутреннему адресу, как если бы вы были в одном офисе.

Тонкая настройка IIS для работы с 1С:Предприятие

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

В диспетчере IIS выберем "Пулы приложений". Найдем тот пул, который используется вашей публикацией (обычно это DefaultAppPool). Если вы используете 64-битную версию платформы 1С, убедитесь, что в дополнительных параметрах пула свойство "Разрешить 32-разрядные приложения" установлено в значение False. Если платформа 32-битная — наоборот, True.

Разберем настройку обработчиков. При публикации 1С создает в папке с сайтом файл default.vrd. Этот файл содержит описание подключения к базе. Однако IIS должен знать, какой модуль (DLL) отвечает за обработку расширений 1С. Посмотрим на пример пути к расширению для версии 8.3.14:

C:\Program Files\1cv8\8.3.14.1694\bin\wsap24.dll

Убедимся, что в разделе "Сопоставление обработчиков" для вашего сайта прописан путь к актуальной версии wsap24.dll (для IIS 7.0 и выше). Если версия платформы обновилась, публикацию необходимо переподтянуть через конфигуратор 1С или вручную поправить пути в IIS.

Настройка прав доступа к файловой базе

Поскольку мы рассматриваем именно файловую базу, крайне важно правильно настроить права файловой системы NTFS. В отличие от клиент-серверного варианта, где к SQL-базе обращается сервер приложений, при веб-публикации файловой базы к файлу 1Cv8.1CD обращается сам процесс IIS.

Рассмотрим по шагам настройку прав:

  1. Найдем папку, в которой лежит файл 1Cv8.1CD.
  2. В свойствах папки перейдем на вкладку "Безопасность".
  3. Добавим пользователя IIS_IUSRS (локальная группа пользователей веб-сервера).
  4. Установим для этой группы права "Полный доступ". Это необходимо, так как 1С создает временные файлы и файлы блокировок в процессе работы.
  5. Аналогичные права нужно проверить для папки, куда была выполнена публикация (там, где лежат файлы default.vrd и web.config).

Обеспечение безопасности («Закрываем голый зад»)

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

Настройка HTTPS. Проанализируем использование бесплатных сертификатов. Мы рекомендуем использовать утилиту Win-ACME для автоматического получения сертификатов от Let's Encrypt. После установки сертификата трафик будет зашифрован, а доступ к базе будет осуществляться по адресу https://....

Ограничение по IP. Если вы знаете, что доступ к базе будет осуществляться только из конкретных офисов или домов с фиксированными адресами, воспользуйтесь модулем IIS "Ограничения IP-адресов и доменов". Это позволит отсечь любые попытки подбора паролей из остального интернета.

Особенности работы с версией 8.3.14

Версия платформы 8.3.14.1694 имеет свои особенности. Выясним причину возможных сбоев: данная ветка платформы требует наличия определенных компонентов Visual C++ Redistributable. Если при попытке открыть страницу 1С вы видите "Ошибка 500", проверьте установку всех необходимых библиотек Windows и убедитесь, что в компонентах IIS включены "Расширения ISAPI" и "Фильтры ISAPI".

Посмотрим на типичную структуру файла default.vrd, который должен получиться в итоге:


<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
		xmlns:xs="http://www.w3.org/2001/XMLSchema"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		base="/CRM_Prihod"
		ib="File="C:\Bases\CRM_Prihod";">
	<standardOdata enable="false"/>
	<analytics enable="false"/>
</point>

Убедимся, что путь в параметре ib соответствует реальному расположению вашей базы на диске. Если вы перенесли базу, этот файл нужно отредактировать вручную или переопубликовать базу из конфигуратора 1С, запустив его от имени Администратора.

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

← На главную