Как опубликовать базу данных 1С на веб-сервере и открыть её в браузере

· 9 мин

Содержание

Чтобы опубликовать базу данных 1С на веб-сервере, нужны три вещи: установленные «Модули расширения веб-сервера» той же версии платформы, что и у базы, сам веб-сервер (IIS на Windows или Apache) и команда Администрирование → Публикация на веб-сервере в Конфигураторе, запущенном от имени администратора. После публикации база открывается по адресу вида http://имя-сервера/buh в браузере или в тонком клиенте.

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

Что подготовить перед публикацией базы 1С

Начните с инвентаризации. Публикация ломается чаще всего из-за мелочей, которые видны ещё до первого клика.

📌 Что должно быть на компьютере, где будет веб-сервер:

  • платформа 1С:Предприятие 8.3 с компонентом «Модули расширения веб-сервера» (ставится тем же установщиком, галочку надо отметить явно);
  • Конфигуратор той же версии, если публикуете через интерфейс;
  • IIS (Windows) или Apache 2.4 (Windows или Linux);
  • для серверной базы — сетевой доступ к серверу 1С по портам 1540, 1541 и диапазону рабочих процессов;
  • для файловой базы — путь к папке с файлом 1Cv8.1CD, на которую можно выдать права учётной записи веб-сервера.

Версия и разрядность

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

Разрядность модуля должна совпадать с разрядностью процесса веб-сервера. 64-битный Apache не загрузит 32-битный модуль, и наоборот.

Что сверитьГде посмотреть
Версия платформы на сервере 1СКонсоль кластера или «О программе» у клиента
Версия модулей расширенияПапка bin установленной платформы, например C:\Program Files\1cv8\8.3.24.1586\bin
Разрядность веб-сервераДля IIS — настройка пула приложений; для Apache — дистрибутив, из которого ставили
Свободное имя публикацииЛатиница без пробелов: buh, zup, ut11

Имя публикации попадает в адрес. Короткое имя латиницей избавит от проблем с кодировкой ссылок в почте и мессенджерах.

Публикация базы 1С на веб-сервере IIS

IIS — самый частый выбор на Windows Server: он уже есть в системе, и Конфигуратор умеет прописывать в нём всё сам.

Шаг 1. Включите роль IIS с нужными компонентами

В Диспетчер серверов → Управление → Добавить роли и компоненты выберите роль «Веб-сервер (IIS)». В составе служб роли отметьте:

  1. «Расширения ISAPI» и «Фильтры ISAPI» — без них модуль 1С не загрузится.
  2. «Статическое содержимое», «Документ по умолчанию», «Ошибки HTTP».
  3. «Консоль управления IIS».
  4. Если нужен вход по учётной записи Windows — «Проверка подлинности Windows».

На Windows 10/11 то же самое включается в «Компонентах Windows»: ветка «Службы IIS», внутри неё «Компоненты разработки приложений».

Шаг 2. Опубликуйте базу из Конфигуратора

  1. Запустите Конфигуратор от имени администратора (правый клик по ярлыку). Без этого IIS не даст записать настройки.
  2. Откройте нужную базу и выберите Администрирование → Публикация на веб-сервере.
  3. Задайте «Имя» — это часть адреса после имени сервера.
  4. В поле «Веб-сервер» выберите Internet Information Services.
  5. Каталог по умолчанию — C:\inetpub\wwwroot\buh. Его можно оставить.
  6. Отметьте, что публикуем: тонкий клиент и веб-клиент, при необходимости стандартный интерфейс OData, веб-сервисы и HTTP-сервисы.
  7. Нажмите «Опубликовать» и согласитесь на перезапуск веб-сервера.

Перезапуск IIS обрывает соединения всех уже опубликованных на нём баз и сайтов. Если на сервере работают люди, публикуйте вечером или предупредите их.

Шаг 3. Выдайте права

Это шаг, который пропускают чаще всего. Пул приложений IIS работает от служебной учётной записи, и ей нужен доступ:

  • 📂 к папке bin платформы — чтение и выполнение (группа IIS_IUSRS);
  • 📂 к каталогу публикации C:\inetpub\wwwroot\buh — чтение;
  • 📂 для файловой базы — изменение на папку с базой: веб-сервер пишет туда файлы блокировок и временные данные.

Шаг 4. Проверьте разрядность пула

Если стоит 32-битная платформа, откройте в диспетчере IIS «Пулы приложений», выберите пул публикации, «Дополнительные параметры» и включите «Разрешить 32-разрядные приложения». Для 64-битной платформы параметр должен быть выключен.

Настройка Apache для публикации 1С

Apache выбирают для Linux-серверов и для случаев, когда IIS по каким-то причинам не подходит. На Windows его ставят из сборки Apache Lounge нужной разрядности.

Публикация через Конфигуратор (Windows)

Порядок тот же, что и для IIS, только в поле «Веб-сервер» выберите Apache 2.4. Конфигуратор допишет в httpd.conf строку загрузки модуля wsap24.dll и блок Directory для каталога публикации. После этого службу Apache нужно перезапустить.

Публикация на Linux утилитой webinst

На Linux Конфигуратор с публикацией обычно не используют. Утилита webinst лежит в каталоге платформы, например /opt/1cv8/x86_64/8.3.24.1586/.

cd /opt/1cv8/x86_64/8.3.24.1586
sudo ./webinst -publish -apache24 -wsdir buh \
  -dir /var/www/buh \
  -connstr "Srvr=srv1c;Ref=buh;" \
  -confpath /etc/apache2/apache2.conf
sudo systemctl restart apache2

Что делают ключи:

  • -wsdir — имя публикации, то есть часть адреса;
  • -dir — каталог, куда запишется default.vrd;
  • -connstr — строка соединения: для серверной базы Srvr=…;Ref=…;, для файловой File="путь";;
  • -confpath — конфигурационный файл Apache, в который добавится загрузка модуля.

В результате в конфиге появится примерно такой фрагмент:

LoadModule _1cws_module "/opt/1cv8/x86_64/8.3.24.1586/wsap24.so"

Alias "/buh" "/var/www/buh/"
<Directory "/var/www/buh/">
    AllowOverride All
    Options None
    Require all granted
    SetHandler 1c-application
    ManagedApplicationDescriptor "/var/www/buh/default.vrd"
</Directory>

После обновления платформы путь в LoadModule остаётся старым. Если старую версию удалили, Apache не стартует. Исправьте путь вручную или переопубликуйте базу утилитой новой версии.

На RHEL-подобных системах служба называется httpd, а конфиг — /etc/httpd/conf/httpd.conf.

Модули расширения веб-сервера и файл default.vrd

Модуль расширения — это библиотека, через которую веб-сервер передаёт запросы браузера платформе 1С. Для IIS это wsisapi.dll, для Apache 2.4 на Windows — wsap24.dll, на Linux — wsap24.so. Сам веб-сервер базу не «понимает»: он только отдаёт запрос модулю.

Модуль ищет описание публикации в файле 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="/buh"
       ib="Srvr=&quot;srv1c&quot;;Ref=&quot;buh&quot;;">
    <standardOdata enable="false"/>
</point>

Кавычки внутри атрибута ib записываются как &quot;. Если вписать обычные двойные кавычки, файл станет некорректным XML и публикация отдаст ошибку.

💡 Что удобно править прямо в default.vrd, не переопубликовывая базу:

  • атрибут ib — если база переехала на другой сервер 1С;
  • включение и отключение OData, веб-сервисов и HTTP-сервисов;
  • добавление в строку соединения параметров вроде Usr и Pwd для автоматического входа — только для закрытых интеграций, не для доступа людей.

После правки default.vrd перезапуск веб-сервера обычно не нужен для новых сеансов, но если изменения не подхватились — перезапустите пул IIS или службу Apache.

Подключение к опубликованной базе

Опубликованная база доступна двумя способами.

СпособКак подключитьсяКогда удобен
Веб-клиентОткрыть http://сервер/buh в браузереНет возможности ставить программы, разовая работа
Тонкий клиент через веб-серверВ списке баз «Добавить → Добавление в список существующей информационной базы», тип «На веб-сервере», адрес http://сервер/buhЕжедневная работа удалённо, полный интерфейс

Тонкий клиент через HTTP работает заметно стабильнее веб-клиента на медленных каналах: формы не тянутся из браузера, а отрисовываются программой. Для сотрудника, который работает удалённо каждый день, лучше ставить тонкий клиент.

Лицензии при этом расходуются так же, как при обычном подключении: каждый сеанс веб-клиента или тонкого клиента занимает клиентскую лицензию.

Диагностика ошибок при публикации на веб-сервере

Большинство ошибок видны уже при первом заходе по адресу. Ниже — симптом и то, что проверить.

Диагностика: выберите симптом

Где смотреть подробности

  • 🔍 IIS: журналы в C:\inetpub\logs\LogFiles — там видны коды и подкоды ответа вроде 500.19 или 404.3. Подкод сразу сужает поиск.
  • 🔍 Apache на Linux: /var/log/apache2/error.log (или /var/log/httpd/error_log) и вывод apachectl configtest.
  • 🔍 Журнал регистрации базы — если до 1С запрос дошёл, а падает уже вход или обработка.

Если в браузере видно стандартное окно ошибки 1С, а не страница веб-сервера, — веб-сервер и модуль отработали, проблема на стороне базы или сервера 1С: строка соединения, сеть до портов 1540–1541, права пользователя 1С.

Безопасность опубликованной базы

Опубликованная в интернет база — это бухгалтерия, доступная любому, кто подберёт пароль. Отнеситесь к этому как к открытию двери в офис.

🔒 Минимум, без которого выкладывать базу наружу нельзя:

  1. HTTPS. Без шифрования логины и данные идут открытым текстом. Сертификат можно получить бесплатно (Let’s Encrypt) или купить; в IIS привязывается в «Привязках» сайта, в Apache — через mod_ssl.
  2. Пароли у всех пользователей 1С. Пользователь без пароля в опубликованной базе — открытая учётная запись. Отключите в базе пользователей, которые не работают.
  3. Публикуйте только нужное. Если OData и веб-сервисы не используются интеграциями — снимите их флажки. Каждый лишний сервис — ещё одна точка входа.
  4. Ограничьте доступ на уровне сети. Если работают пять сотрудников с известных адресов, разрешите на межсетевом экране только их, или пускайте через VPN, а наружу не публикуйте вовсе.
  5. Не запускайте пул IIS от администратора. Для удобства так иногда делают, когда не хочется разбираться с правами. Ошибка в модуле при этом получает полные права на сервер.

Строка соединения с Usr и Pwd в default.vrd пускает в базу любого, кто откроет адрес, без запроса пароля. Для доступа сотрудников так делать нельзя.

Производительность

  • ⚡ Для нескольких баз создайте отдельные пулы приложений IIS: падение одной публикации не потянет остальные.
  • ⚡ Файловая база через веб-сервер подходит для 2–5 одновременных пользователей. Больше — переводите базу на сервер 1С.
  • ⚡ Веб-клиент на канале с высокой задержкой работает медленнее тонкого клиента — это повод перевести постоянных пользователей на тонкий клиент, а не повод менять сервер.

Частые вопросы

Можно ли опубликовать на веб-сервере файловую базу?
Да. В строке соединения указывается путь к папке базы, а учётной записи веб-сервера выдаются права на изменение этой папки. Для большого числа пользователей лучше клиент-серверный вариант.
Можно ли опубликовать несколько баз на одном веб-сервере?
Да, каждую под своим именем: buh, zup, ut. У каждой будет свой каталог и свой default.vrd. Модули расширения при этом общие, если базы работают на одной версии платформы.
Нужна ли отдельная лицензия на веб-сервер?
Отдельной лицензии на сам веб-сервер нет. Каждый сеанс через веб-клиент или тонкий клиент занимает клиентскую лицензию, как обычное подключение.
Что делать с публикацией после обновления платформы?
Установите модули расширения новой версии и переопубликуйте базу из Конфигуратора новой версии или утилитой webinst. Иначе модуль останется от старой сборки, и подключение к обновлённому серверу 1С не пройдёт.
Как снять публикацию?
В том же окне Администрирование → Публикация на веб-сервере нажмите «Отключить». На Linux — webinst с ключом -delete и теми же -wsdir и -confpath.